@deck.gl/carto 9.0.11 → 9.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cartoRasterTile-worker.js +1 -1
- package/dist/cartoSpatialTile-worker.js +1 -1
- package/dist/cartoVectorTile-worker.js +1 -1
- package/dist/dist.dev.js +389 -32
- package/dist/index.cjs +366 -33
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/layers/heatmap.d.ts +36 -0
- package/dist/layers/heatmap.d.ts.map +1 -0
- package/dist/layers/heatmap.js +128 -0
- package/dist/layers/post-process-utils.d.ts +27 -0
- package/dist/layers/post-process-utils.d.ts.map +1 -0
- package/dist/layers/post-process-utils.js +130 -0
- package/dist/layers/quadbin-heatmap-tile-layer.d.ts +21 -0
- package/dist/layers/quadbin-heatmap-tile-layer.d.ts.map +1 -0
- package/dist/layers/quadbin-heatmap-tile-layer.js +83 -0
- package/dist/layers/schema/carto-raster-tile-loader.js +1 -1
- package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
- package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
- package/dist.min.js +88 -7
- package/package.json +5 -4
- package/src/index.ts +3 -0
- package/src/layers/heatmap.ts +196 -0
- package/src/layers/post-process-utils.ts +180 -0
- package/src/layers/quadbin-heatmap-tile-layer.ts +122 -0
|
@@ -1008,7 +1008,7 @@
|
|
|
1008
1008
|
}
|
|
1009
1009
|
|
|
1010
1010
|
// src/layers/schema/carto-raster-tile-loader.ts
|
|
1011
|
-
var VERSION = true ? "9.0.
|
|
1011
|
+
var VERSION = true ? "9.0.12" : "latest";
|
|
1012
1012
|
var id = "cartoRasterTile";
|
|
1013
1013
|
var DEFAULT_OPTIONS = {
|
|
1014
1014
|
cartoRasterTile: {
|
|
@@ -1397,7 +1397,7 @@
|
|
|
1397
1397
|
}
|
|
1398
1398
|
|
|
1399
1399
|
// src/layers/schema/carto-spatial-tile-loader.ts
|
|
1400
|
-
var VERSION = true ? "9.0.
|
|
1400
|
+
var VERSION = true ? "9.0.12" : "latest";
|
|
1401
1401
|
var id = "cartoSpatialTile";
|
|
1402
1402
|
var DEFAULT_OPTIONS = {
|
|
1403
1403
|
cartoSpatialTile: {
|
|
@@ -1625,7 +1625,7 @@
|
|
|
1625
1625
|
}
|
|
1626
1626
|
|
|
1627
1627
|
// src/layers/schema/carto-vector-tile-loader.ts
|
|
1628
|
-
var VERSION = true ? "9.0.
|
|
1628
|
+
var VERSION = true ? "9.0.12" : "latest";
|
|
1629
1629
|
var id = "cartoVectorTile";
|
|
1630
1630
|
var DEFAULT_OPTIONS = {
|
|
1631
1631
|
cartoVectorTile: {
|
package/dist/dist.dev.js
CHANGED
|
@@ -9200,6 +9200,7 @@ var __exports__ = (() => {
|
|
|
9200
9200
|
CARTO_SOURCES: () => CARTO_SOURCES,
|
|
9201
9201
|
CartoAPIError: () => CartoAPIError,
|
|
9202
9202
|
H3TileLayer: () => H3TileLayer,
|
|
9203
|
+
QuadbinHeatmapTileLayer: () => quadbin_heatmap_tile_layer_default,
|
|
9203
9204
|
QuadbinTileLayer: () => QuadbinTileLayer,
|
|
9204
9205
|
RasterTileLayer: () => RasterTileLayer,
|
|
9205
9206
|
SOURCE_DEFAULTS: () => SOURCE_DEFAULTS,
|
|
@@ -10304,12 +10305,367 @@ var __exports__ = (() => {
|
|
|
10304
10305
|
QuadbinTileLayer.layerName = "QuadbinTileLayer";
|
|
10305
10306
|
QuadbinTileLayer.defaultProps = defaultProps5;
|
|
10306
10307
|
|
|
10307
|
-
// src/layers/
|
|
10308
|
+
// src/layers/quadbin-heatmap-tile-layer.ts
|
|
10308
10309
|
var import_core9 = __toESM(require_core(), 1);
|
|
10310
|
+
var import_layers2 = __toESM(require_layers(), 1);
|
|
10309
10311
|
|
|
10310
|
-
//
|
|
10312
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules/math/random/random.js
|
|
10313
|
+
var fs = `float random(vec3 scale, float seed) {
|
|
10314
|
+
return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);
|
|
10315
|
+
}
|
|
10316
|
+
`;
|
|
10317
|
+
var random = {
|
|
10318
|
+
name: "random",
|
|
10319
|
+
fs
|
|
10320
|
+
};
|
|
10321
|
+
|
|
10322
|
+
// src/layers/heatmap.ts
|
|
10323
|
+
var glsl = (s) => `${s}`;
|
|
10324
|
+
var fs2 = glsl`\
|
|
10325
|
+
uniform heatmapUniforms {
|
|
10326
|
+
float radiusPixels;
|
|
10327
|
+
vec2 colorDomain;
|
|
10328
|
+
vec3 color1;
|
|
10329
|
+
vec3 color2;
|
|
10330
|
+
vec3 color3;
|
|
10331
|
+
vec3 color4;
|
|
10332
|
+
vec3 color5;
|
|
10333
|
+
vec3 color6;
|
|
10334
|
+
float opacity;
|
|
10335
|
+
} heatmap;
|
|
10336
|
+
|
|
10337
|
+
// Controls quality of heatmap, larger values increase quality at expense of performance
|
|
10338
|
+
const float SUPPORT = 8.0;
|
|
10339
|
+
const vec4 STOPS = vec4(0.2, 0.4, 0.6, 0.8);
|
|
10340
|
+
|
|
10341
|
+
vec3 colorGradient(float value) {
|
|
10342
|
+
vec3 c1;
|
|
10343
|
+
vec3 c2;
|
|
10344
|
+
vec2 range;
|
|
10345
|
+
if (value < STOPS.x) {
|
|
10346
|
+
range = vec2(0.0, STOPS.x);
|
|
10347
|
+
c1 = heatmap.color1; c2 = heatmap.color2;
|
|
10348
|
+
} else if (value < STOPS.y) {
|
|
10349
|
+
range = STOPS.xy;
|
|
10350
|
+
c1 = heatmap.color2; c2 = heatmap.color3;
|
|
10351
|
+
} else if (value < STOPS.z) {
|
|
10352
|
+
range = STOPS.yz;
|
|
10353
|
+
c1 = heatmap.color3; c2 = heatmap.color4;
|
|
10354
|
+
} else if (value < STOPS.w) {
|
|
10355
|
+
range = STOPS.zw;
|
|
10356
|
+
c1 = heatmap.color4; c2 = heatmap.color5;
|
|
10357
|
+
} else if (value < 1.0 ) {
|
|
10358
|
+
range = vec2(STOPS.w, 1.0);
|
|
10359
|
+
c1 = heatmap.color5; c2 = heatmap.color6;
|
|
10360
|
+
} else {
|
|
10361
|
+
// Fade out to white
|
|
10362
|
+
range = vec2(1.0, 10.0);
|
|
10363
|
+
c1 = heatmap.color6; c2 = vec3(255.0);
|
|
10364
|
+
}
|
|
10365
|
+
|
|
10366
|
+
float f = (value - range.x) / (range.y - range.x);
|
|
10367
|
+
return mix(c1, c2, f) / 255.0;
|
|
10368
|
+
}
|
|
10369
|
+
|
|
10370
|
+
const vec3 SHIFT = vec3(1.0, 256.0, 256.0 * 256.0);
|
|
10371
|
+
float unpack(vec3 color) {
|
|
10372
|
+
return 255.0 * dot(color, SHIFT);
|
|
10373
|
+
}
|
|
10374
|
+
|
|
10375
|
+
vec4 heatmap_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {
|
|
10376
|
+
float accumulator = 0.0;
|
|
10377
|
+
|
|
10378
|
+
// Randomize the lookup values to hide the fixed number of samples
|
|
10379
|
+
float offset = 0.5 * random(vec3(12.9898, 78.233, 151.7182), 0.0);
|
|
10380
|
+
|
|
10381
|
+
// Gaussian normalization parameters
|
|
10382
|
+
const float sigma = SUPPORT / 3.0;
|
|
10383
|
+
const float a = -0.5 / (sigma * sigma);
|
|
10384
|
+
const float w0 = 1.0 / (2.0 * 3.141592653589793 * sigma * sigma); // 2D normalization
|
|
10385
|
+
|
|
10386
|
+
for (float t = -SUPPORT; t <= SUPPORT; t++) {
|
|
10387
|
+
for (float s = -SUPPORT; s <= SUPPORT; s++) {
|
|
10388
|
+
vec2 percent = (vec2(s, t) + offset - 0.5) / SUPPORT;
|
|
10389
|
+
vec2 delta = percent * heatmap.radiusPixels / texSize;
|
|
10390
|
+
vec4 offsetColor = texture(source, texCoord + delta);
|
|
10391
|
+
|
|
10392
|
+
// Unpack float
|
|
10393
|
+
float value = unpack(offsetColor.rgb);
|
|
10394
|
+
|
|
10395
|
+
// Gaussian
|
|
10396
|
+
float weight = w0 * exp(a * (s * s + t * t));
|
|
10397
|
+
|
|
10398
|
+
accumulator += value * weight;
|
|
10399
|
+
}
|
|
10400
|
+
}
|
|
10401
|
+
|
|
10402
|
+
// Apply domain
|
|
10403
|
+
float f = (accumulator - heatmap.colorDomain[0]) / (heatmap.colorDomain[1] - heatmap.colorDomain[0]);
|
|
10404
|
+
|
|
10405
|
+
// Color map
|
|
10406
|
+
vec4 color = vec4(0.0);
|
|
10407
|
+
color.rgb = colorGradient(f);
|
|
10408
|
+
|
|
10409
|
+
color.a = smoothstep(0.0, 0.1, f);
|
|
10410
|
+
color.a = pow(color.a, 1.0 / 2.2);
|
|
10411
|
+
color.a *= heatmap.opacity;
|
|
10412
|
+
|
|
10413
|
+
return color;
|
|
10414
|
+
}
|
|
10415
|
+
`;
|
|
10416
|
+
var defaultColorRange = [
|
|
10417
|
+
[255, 255, 178],
|
|
10418
|
+
[254, 217, 118],
|
|
10419
|
+
[254, 178, 76],
|
|
10420
|
+
[253, 141, 60],
|
|
10421
|
+
[240, 59, 32],
|
|
10422
|
+
[189, 0, 38]
|
|
10423
|
+
];
|
|
10424
|
+
var heatmap = {
|
|
10425
|
+
name: "heatmap",
|
|
10426
|
+
uniformPropTypes: {
|
|
10427
|
+
radiusPixels: { value: 20, min: 0, softMax: 100 },
|
|
10428
|
+
colorDomain: { value: [0, 1] },
|
|
10429
|
+
color1: { value: [0, 0, 0] },
|
|
10430
|
+
color2: { value: [0, 0, 0] },
|
|
10431
|
+
color3: { value: [0, 0, 0] },
|
|
10432
|
+
color4: { value: [0, 0, 0] },
|
|
10433
|
+
color5: { value: [0, 0, 0] },
|
|
10434
|
+
color6: { value: [0, 0, 0] },
|
|
10435
|
+
opacity: { value: 1, min: 0, max: 1 }
|
|
10436
|
+
},
|
|
10437
|
+
uniformTypes: {
|
|
10438
|
+
radiusPixels: "f32",
|
|
10439
|
+
colorDomain: "vec2<f32>",
|
|
10440
|
+
color1: "vec3<f32>",
|
|
10441
|
+
color2: "vec3<f32>",
|
|
10442
|
+
color3: "vec3<f32>",
|
|
10443
|
+
color4: "vec3<f32>",
|
|
10444
|
+
color5: "vec3<f32>",
|
|
10445
|
+
color6: "vec3<f32>",
|
|
10446
|
+
opacity: "f32"
|
|
10447
|
+
},
|
|
10448
|
+
getUniforms: (opts) => {
|
|
10449
|
+
const {
|
|
10450
|
+
colorRange = defaultColorRange,
|
|
10451
|
+
radiusPixels = 20,
|
|
10452
|
+
colorDomain = [0, 1],
|
|
10453
|
+
opacity = 1
|
|
10454
|
+
} = opts;
|
|
10455
|
+
const [color1, color2, color3, color4, color5, color6] = colorRange;
|
|
10456
|
+
return {
|
|
10457
|
+
color1,
|
|
10458
|
+
color2,
|
|
10459
|
+
color3,
|
|
10460
|
+
color4,
|
|
10461
|
+
color5,
|
|
10462
|
+
color6,
|
|
10463
|
+
radiusPixels,
|
|
10464
|
+
colorDomain,
|
|
10465
|
+
opacity
|
|
10466
|
+
};
|
|
10467
|
+
},
|
|
10468
|
+
dependencies: [random],
|
|
10469
|
+
fs: fs2,
|
|
10470
|
+
passes: [{ sampler: true }]
|
|
10471
|
+
};
|
|
10472
|
+
|
|
10473
|
+
// src/layers/post-process-utils.ts
|
|
10311
10474
|
var import_core8 = __toESM(require_core(), 1);
|
|
10312
|
-
var
|
|
10475
|
+
var TEXTURE_PROPS = {
|
|
10476
|
+
format: "rgba8unorm",
|
|
10477
|
+
mipmaps: false,
|
|
10478
|
+
sampler: {
|
|
10479
|
+
minFilter: "linear",
|
|
10480
|
+
magFilter: "linear",
|
|
10481
|
+
addressModeU: "clamp-to-edge",
|
|
10482
|
+
addressModeV: "clamp-to-edge"
|
|
10483
|
+
}
|
|
10484
|
+
};
|
|
10485
|
+
function getPostProcessLayer(layer) {
|
|
10486
|
+
while (layer.parent && !layer.applyPostProcess) {
|
|
10487
|
+
layer = layer.parent;
|
|
10488
|
+
}
|
|
10489
|
+
return layer;
|
|
10490
|
+
}
|
|
10491
|
+
var DrawCallbackLayer = class extends import_core8.Layer {
|
|
10492
|
+
initializeState() {
|
|
10493
|
+
this.id = `draw-callback-${getPostProcessLayer(this).props.id}`;
|
|
10494
|
+
}
|
|
10495
|
+
_drawLayer() {
|
|
10496
|
+
getPostProcessLayer(this).applyPostProcess();
|
|
10497
|
+
}
|
|
10498
|
+
};
|
|
10499
|
+
DrawCallbackLayer.layerName = "DrawCallbackLayer";
|
|
10500
|
+
function RTTModifier(BaseLayer) {
|
|
10501
|
+
var _a;
|
|
10502
|
+
return _a = class extends BaseLayer {
|
|
10503
|
+
draw(opts) {
|
|
10504
|
+
const { moduleParameters } = opts;
|
|
10505
|
+
const { picking } = moduleParameters;
|
|
10506
|
+
const postProcessLayer = getPostProcessLayer(this);
|
|
10507
|
+
if (!picking.isActive) {
|
|
10508
|
+
postProcessLayer.enableRTT(opts);
|
|
10509
|
+
}
|
|
10510
|
+
super.draw(opts);
|
|
10511
|
+
if (!picking.isActive) {
|
|
10512
|
+
postProcessLayer.disableRTT();
|
|
10513
|
+
}
|
|
10514
|
+
}
|
|
10515
|
+
}, _a.layerName = `RTT-${BaseLayer.layerName}`, _a;
|
|
10516
|
+
}
|
|
10517
|
+
function PostProcessModifier(BaseLayer, effect) {
|
|
10518
|
+
var _a;
|
|
10519
|
+
return _a = class extends BaseLayer {
|
|
10520
|
+
initializeState(context) {
|
|
10521
|
+
super.initializeState(context);
|
|
10522
|
+
this._createTextures();
|
|
10523
|
+
this.internalState.postProcess = new import_core8.PostProcessEffect(effect, this.props);
|
|
10524
|
+
this.internalState.postProcess.setup(context);
|
|
10525
|
+
}
|
|
10526
|
+
updateState(params) {
|
|
10527
|
+
super.updateState(params);
|
|
10528
|
+
this.internalState.postProcess.setProps(this.props);
|
|
10529
|
+
}
|
|
10530
|
+
renderLayers() {
|
|
10531
|
+
let subLayers = super.renderLayers();
|
|
10532
|
+
if (!subLayers) {
|
|
10533
|
+
return null;
|
|
10534
|
+
}
|
|
10535
|
+
subLayers = Array.isArray(subLayers) ? subLayers : [subLayers];
|
|
10536
|
+
return [...subLayers, new DrawCallbackLayer()];
|
|
10537
|
+
}
|
|
10538
|
+
_createTextures() {
|
|
10539
|
+
const { device } = this.context;
|
|
10540
|
+
this.internalState.renderBuffers = [0, 1].map((i) => {
|
|
10541
|
+
return device.createFramebuffer({
|
|
10542
|
+
id: `layer-fbo-${i}`,
|
|
10543
|
+
colorAttachments: [device.createTexture(TEXTURE_PROPS)],
|
|
10544
|
+
depthStencilAttachment: "depth16unorm"
|
|
10545
|
+
});
|
|
10546
|
+
});
|
|
10547
|
+
}
|
|
10548
|
+
_resizeBuffers(opts) {
|
|
10549
|
+
const { moduleParameters } = opts;
|
|
10550
|
+
const { viewport } = this.context;
|
|
10551
|
+
const width = moduleParameters.devicePixelRatio * viewport.width;
|
|
10552
|
+
const height = moduleParameters.devicePixelRatio * viewport.height;
|
|
10553
|
+
this.internalState.renderBuffers.forEach((fbo) => fbo.resize({ width, height }));
|
|
10554
|
+
}
|
|
10555
|
+
enableRTT(opts) {
|
|
10556
|
+
this._resizeBuffers(opts);
|
|
10557
|
+
this.internalState.originalRenderPass = this.context.renderPass;
|
|
10558
|
+
const [framebuffer] = this.internalState.renderBuffers;
|
|
10559
|
+
this.internalState.internalRenderPass = this.context.device.beginRenderPass({
|
|
10560
|
+
framebuffer,
|
|
10561
|
+
parameters: { viewport: [0, 0, framebuffer.width, framebuffer.height] },
|
|
10562
|
+
clearColor: this.internalState.renderInProgress ? false : [0, 0, 0, 0]
|
|
10563
|
+
});
|
|
10564
|
+
this.internalState.renderInProgress = true;
|
|
10565
|
+
this.context.renderPass = this.internalState.internalRenderPass;
|
|
10566
|
+
}
|
|
10567
|
+
disableRTT() {
|
|
10568
|
+
this.internalState.internalRenderPass.end();
|
|
10569
|
+
this.context.renderPass = this.internalState.originalRenderPass;
|
|
10570
|
+
}
|
|
10571
|
+
applyPostProcess() {
|
|
10572
|
+
if (!this.internalState.renderInProgress) {
|
|
10573
|
+
return;
|
|
10574
|
+
}
|
|
10575
|
+
const [inputBuffer, swapBuffer] = this.internalState.renderBuffers;
|
|
10576
|
+
const { framebuffer: target } = this.context.renderPass.props;
|
|
10577
|
+
this.internalState.postProcess.postRender({
|
|
10578
|
+
inputBuffer,
|
|
10579
|
+
swapBuffer,
|
|
10580
|
+
target
|
|
10581
|
+
});
|
|
10582
|
+
this.internalState.renderInProgress = false;
|
|
10583
|
+
}
|
|
10584
|
+
}, _a.layerName = `PostProcess${BaseLayer.layerName}`, _a;
|
|
10585
|
+
}
|
|
10586
|
+
|
|
10587
|
+
// src/layers/quadbin-heatmap-tile-layer.ts
|
|
10588
|
+
var RTTSolidPolygonLayer = class extends RTTModifier(import_layers2.SolidPolygonLayer) {
|
|
10589
|
+
getShaders(type) {
|
|
10590
|
+
const shaders = super.getShaders(type);
|
|
10591
|
+
shaders.inject = {
|
|
10592
|
+
"vs:#decl": "uniform float cellResolution;",
|
|
10593
|
+
"vs:DECKGL_FILTER_COLOR": `
|
|
10594
|
+
const vec3 SHIFT = vec3(1.0, 256.0, 256.0 * 256.0);
|
|
10595
|
+
float value = 255.0 * dot(SHIFT, color.rgb);
|
|
10596
|
+
|
|
10597
|
+
// Keep "power" delivered to screen constant when tiles update
|
|
10598
|
+
float relativeZoom = log2(project_uScale) - cellResolution + 3.5; // range 0-1
|
|
10599
|
+
float relativeArea = pow(2.0, -2.0 * relativeZoom); // range 0.25-1
|
|
10600
|
+
value *= relativeArea;
|
|
10601
|
+
|
|
10602
|
+
// Pack float into 3 channels to pass to heatmap shader
|
|
10603
|
+
color = vec4(mod(vec3(value, floor(value / SHIFT.yz)), 256.0), 255.0) / 255.0;
|
|
10604
|
+
`
|
|
10605
|
+
};
|
|
10606
|
+
return shaders;
|
|
10607
|
+
}
|
|
10608
|
+
draw(opts) {
|
|
10609
|
+
const cell0 = this.props.data[0];
|
|
10610
|
+
const cellResolution = Number(getResolution2(cell0.id));
|
|
10611
|
+
for (const model of this.state.models) {
|
|
10612
|
+
model.setUniforms({ cellResolution });
|
|
10613
|
+
}
|
|
10614
|
+
super.draw(opts);
|
|
10615
|
+
}
|
|
10616
|
+
};
|
|
10617
|
+
RTTSolidPolygonLayer.layerName = "RTTSolidPolygonLayer";
|
|
10618
|
+
var PostProcessQuadbinTileLayer = PostProcessModifier(QuadbinTileLayer, heatmap);
|
|
10619
|
+
function encodeWeight(w) {
|
|
10620
|
+
return [w % 256, Math.floor(w / 256), Math.floor(w / (256 * 256))];
|
|
10621
|
+
}
|
|
10622
|
+
var defaultProps6 = {
|
|
10623
|
+
...QuadbinTileLayer.defaultProps,
|
|
10624
|
+
getWeight: { type: "accessor", value: 1 }
|
|
10625
|
+
};
|
|
10626
|
+
var QuadbinHeatmapTileLayer = class extends import_core9.CompositeLayer {
|
|
10627
|
+
renderLayers() {
|
|
10628
|
+
const { getWeight, colorDomain, colorRange, radiusPixels, _subLayerProps } = this.props;
|
|
10629
|
+
const subLayerProps = {
|
|
10630
|
+
..._subLayerProps,
|
|
10631
|
+
cell: {
|
|
10632
|
+
..._subLayerProps?.cell,
|
|
10633
|
+
_subLayerProps: {
|
|
10634
|
+
..._subLayerProps?.cell?._subLayerProps,
|
|
10635
|
+
fill: {
|
|
10636
|
+
..._subLayerProps?.cell?._subLayerProps?.fill,
|
|
10637
|
+
type: RTTSolidPolygonLayer
|
|
10638
|
+
}
|
|
10639
|
+
}
|
|
10640
|
+
}
|
|
10641
|
+
};
|
|
10642
|
+
const getFillColor = typeof getWeight === "function" ? (d, info) => encodeWeight(getWeight(d, info)) : encodeWeight(getWeight);
|
|
10643
|
+
return new PostProcessQuadbinTileLayer(
|
|
10644
|
+
this.getSubLayerProps({
|
|
10645
|
+
id: "heatmap",
|
|
10646
|
+
data: this.props.data,
|
|
10647
|
+
getFillColor,
|
|
10648
|
+
colorDomain,
|
|
10649
|
+
colorRange,
|
|
10650
|
+
radiusPixels,
|
|
10651
|
+
_subLayerProps: subLayerProps,
|
|
10652
|
+
updateTriggers: {
|
|
10653
|
+
getPosition: this.props.updateTriggers.getWeight
|
|
10654
|
+
}
|
|
10655
|
+
})
|
|
10656
|
+
);
|
|
10657
|
+
}
|
|
10658
|
+
};
|
|
10659
|
+
QuadbinHeatmapTileLayer.layerName = "QuadbinHeatmapTileLayer";
|
|
10660
|
+
QuadbinHeatmapTileLayer.defaultProps = defaultProps6;
|
|
10661
|
+
var quadbin_heatmap_tile_layer_default = QuadbinHeatmapTileLayer;
|
|
10662
|
+
|
|
10663
|
+
// src/layers/raster-tile-layer.ts
|
|
10664
|
+
var import_core11 = __toESM(require_core(), 1);
|
|
10665
|
+
|
|
10666
|
+
// src/layers/raster-layer.ts
|
|
10667
|
+
var import_core10 = __toESM(require_core(), 1);
|
|
10668
|
+
var import_layers3 = __toESM(require_layers(), 1);
|
|
10313
10669
|
|
|
10314
10670
|
// src/layers/raster-layer-vertex.glsl.ts
|
|
10315
10671
|
var raster_layer_vertex_glsl_default = `#version 300 es
|
|
@@ -10411,8 +10767,8 @@ void main(void) {
|
|
|
10411
10767
|
`;
|
|
10412
10768
|
|
|
10413
10769
|
// src/layers/raster-layer.ts
|
|
10414
|
-
var
|
|
10415
|
-
...
|
|
10770
|
+
var defaultProps7 = {
|
|
10771
|
+
...import_layers3.ColumnLayer.defaultProps,
|
|
10416
10772
|
extruded: false,
|
|
10417
10773
|
diskResolution: 4,
|
|
10418
10774
|
vertices: [
|
|
@@ -10422,7 +10778,7 @@ void main(void) {
|
|
|
10422
10778
|
[-0.5, 0.5]
|
|
10423
10779
|
]
|
|
10424
10780
|
};
|
|
10425
|
-
var RasterColumnLayer = class extends
|
|
10781
|
+
var RasterColumnLayer = class extends import_layers3.ColumnLayer {
|
|
10426
10782
|
getShaders() {
|
|
10427
10783
|
const shaders = super.getShaders();
|
|
10428
10784
|
const data = this.props.data;
|
|
@@ -10455,7 +10811,7 @@ void main(void) {
|
|
|
10455
10811
|
}
|
|
10456
10812
|
};
|
|
10457
10813
|
RasterColumnLayer.layerName = "RasterColumnLayer";
|
|
10458
|
-
var RasterLayer = class extends
|
|
10814
|
+
var RasterLayer = class extends import_core10.CompositeLayer {
|
|
10459
10815
|
renderLayers() {
|
|
10460
10816
|
const {
|
|
10461
10817
|
data,
|
|
@@ -10504,7 +10860,7 @@ void main(void) {
|
|
|
10504
10860
|
}
|
|
10505
10861
|
};
|
|
10506
10862
|
RasterLayer.layerName = "RasterLayer";
|
|
10507
|
-
RasterLayer.defaultProps =
|
|
10863
|
+
RasterLayer.defaultProps = defaultProps7;
|
|
10508
10864
|
|
|
10509
10865
|
// src/layers/raster-tile-layer.ts
|
|
10510
10866
|
var renderSubLayers3 = (props) => {
|
|
@@ -10513,11 +10869,11 @@ void main(void) {
|
|
|
10513
10869
|
return null;
|
|
10514
10870
|
return new RasterLayer(props, { tileIndex });
|
|
10515
10871
|
};
|
|
10516
|
-
var
|
|
10872
|
+
var defaultProps8 = {
|
|
10517
10873
|
data: TilejsonPropType,
|
|
10518
10874
|
tileSize: DEFAULT_TILE_SIZE
|
|
10519
10875
|
};
|
|
10520
|
-
var RasterTileLayer = class extends
|
|
10876
|
+
var RasterTileLayer = class extends import_core11.CompositeLayer {
|
|
10521
10877
|
getLoadOptions() {
|
|
10522
10878
|
const loadOptions = super.getLoadOptions() || {};
|
|
10523
10879
|
const tileJSON = this.props.data;
|
|
@@ -10543,10 +10899,10 @@ void main(void) {
|
|
|
10543
10899
|
}
|
|
10544
10900
|
};
|
|
10545
10901
|
RasterTileLayer.layerName = "RasterTileLayer";
|
|
10546
|
-
RasterTileLayer.defaultProps =
|
|
10902
|
+
RasterTileLayer.defaultProps = defaultProps8;
|
|
10547
10903
|
|
|
10548
10904
|
// src/layers/vector-tile-layer.ts
|
|
10549
|
-
var
|
|
10905
|
+
var import_core12 = __toESM(require_core2(), 1);
|
|
10550
10906
|
|
|
10551
10907
|
// src/layers/schema/carto-properties-tile.ts
|
|
10552
10908
|
var TileReader4 = class {
|
|
@@ -10649,7 +11005,7 @@ void main(void) {
|
|
|
10649
11005
|
// src/layers/vector-tile-layer.ts
|
|
10650
11006
|
var import_extensions = __toESM(require_extensions(), 1);
|
|
10651
11007
|
var import_geo_layers6 = __toESM(require_geo_layers(), 1);
|
|
10652
|
-
var
|
|
11008
|
+
var import_layers4 = __toESM(require_layers(), 1);
|
|
10653
11009
|
|
|
10654
11010
|
// ../../node_modules/@loaders.gl/gis/dist/lib/binary-features/binary-to-geojson.js
|
|
10655
11011
|
function binaryToGeojson(data, options) {
|
|
@@ -10814,8 +11170,8 @@ void main(void) {
|
|
|
10814
11170
|
}
|
|
10815
11171
|
|
|
10816
11172
|
// src/layers/vector-tile-layer.ts
|
|
10817
|
-
(0,
|
|
10818
|
-
var
|
|
11173
|
+
(0, import_core12.registerLoaders)([carto_properties_tile_loader_default, carto_vector_tile_loader_default]);
|
|
11174
|
+
var defaultProps9 = {
|
|
10819
11175
|
...import_geo_layers6.MVTLayer.defaultProps,
|
|
10820
11176
|
data: TilejsonPropType,
|
|
10821
11177
|
dataComparator: TilejsonPropType.equal,
|
|
@@ -10889,7 +11245,7 @@ void main(void) {
|
|
|
10889
11245
|
extensions: [new import_extensions.ClipExtension(), ...props.extensions || []],
|
|
10890
11246
|
clipBounds: [west, south, east, north]
|
|
10891
11247
|
};
|
|
10892
|
-
const subLayer = new
|
|
11248
|
+
const subLayer = new import_layers4.GeoJsonLayer(subLayerProps);
|
|
10893
11249
|
return subLayer;
|
|
10894
11250
|
}
|
|
10895
11251
|
getPickingInfo(params) {
|
|
@@ -10904,7 +11260,7 @@ void main(void) {
|
|
|
10904
11260
|
}
|
|
10905
11261
|
};
|
|
10906
11262
|
VectorTileLayer.layerName = "VectorTileLayer";
|
|
10907
|
-
VectorTileLayer.defaultProps =
|
|
11263
|
+
VectorTileLayer.defaultProps = defaultProps9;
|
|
10908
11264
|
|
|
10909
11265
|
// src/basemap.ts
|
|
10910
11266
|
var baseUrl = "https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json";
|
|
@@ -12973,14 +13329,14 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
12973
13329
|
}
|
|
12974
13330
|
|
|
12975
13331
|
// src/api/common.ts
|
|
12976
|
-
var
|
|
13332
|
+
var import_core13 = __toESM(require_core(), 1);
|
|
12977
13333
|
var DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com";
|
|
12978
13334
|
var DEFAULT_CLIENT = "deck-gl-carto";
|
|
12979
13335
|
var V3_MINOR_VERSION = "3.4";
|
|
12980
13336
|
var MAX_GET_LENGTH = 8192;
|
|
12981
13337
|
var DEFAULT_PARAMETERS = {
|
|
12982
13338
|
v: V3_MINOR_VERSION,
|
|
12983
|
-
deckglVersion:
|
|
13339
|
+
deckglVersion: import_core13.VERSION
|
|
12984
13340
|
};
|
|
12985
13341
|
var DEFAULT_HEADERS = {
|
|
12986
13342
|
Accept: "application/json",
|
|
@@ -13992,12 +14348,12 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
13992
14348
|
})(GLEnum || (GLEnum = {}));
|
|
13993
14349
|
|
|
13994
14350
|
// src/api/parse-map.ts
|
|
13995
|
-
var
|
|
14351
|
+
var import_core14 = __toESM(require_core(), 1);
|
|
13996
14352
|
|
|
13997
14353
|
// src/api/layer-map.ts
|
|
13998
14354
|
var import_moment_timezone = __toESM(require_moment_timezone2(), 1);
|
|
13999
14355
|
var import_aggregation_layers = __toESM(require_aggregation_layers(), 1);
|
|
14000
|
-
var
|
|
14356
|
+
var import_layers5 = __toESM(require_layers(), 1);
|
|
14001
14357
|
var import_geo_layers7 = __toESM(require_geo_layers(), 1);
|
|
14002
14358
|
var SCALE_FUNCS = {
|
|
14003
14359
|
linear: linear2,
|
|
@@ -14070,7 +14426,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14070
14426
|
elevationPercentile: ["elevationLowerPercentile", "elevationUpperPercentile"],
|
|
14071
14427
|
percentile: ["lowerPercentile", "upperPercentile"]
|
|
14072
14428
|
};
|
|
14073
|
-
var
|
|
14429
|
+
var defaultProps10 = {
|
|
14074
14430
|
lineMiterLimit: 2,
|
|
14075
14431
|
lineWidthUnits: "pixels",
|
|
14076
14432
|
pointRadiusUnits: "pixels",
|
|
@@ -14093,7 +14449,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14093
14449
|
const hexagonId = config.columns?.hex_id;
|
|
14094
14450
|
const layerTypeDefs = {
|
|
14095
14451
|
point: {
|
|
14096
|
-
Layer:
|
|
14452
|
+
Layer: import_layers5.GeoJsonLayer,
|
|
14097
14453
|
propMap: {
|
|
14098
14454
|
columns: {
|
|
14099
14455
|
altitude: (x) => ({ parameters: { depthTest: Boolean(x) } })
|
|
@@ -14102,7 +14458,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14102
14458
|
}
|
|
14103
14459
|
},
|
|
14104
14460
|
geojson: {
|
|
14105
|
-
Layer:
|
|
14461
|
+
Layer: import_layers5.GeoJsonLayer
|
|
14106
14462
|
},
|
|
14107
14463
|
grid: {
|
|
14108
14464
|
Layer: import_aggregation_layers.CPUGridLayer,
|
|
@@ -14130,7 +14486,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14130
14486
|
return {
|
|
14131
14487
|
...layer,
|
|
14132
14488
|
propMap: mergePropMaps(basePropMap, layer.propMap),
|
|
14133
|
-
defaultProps: { ...
|
|
14489
|
+
defaultProps: { ...defaultProps10, ...layer.defaultProps }
|
|
14134
14490
|
};
|
|
14135
14491
|
}
|
|
14136
14492
|
function layerFromTileDataset(scheme, type) {
|
|
@@ -14155,7 +14511,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14155
14511
|
Layer: layerFromTileDataset(scheme),
|
|
14156
14512
|
propMap: basePropMap,
|
|
14157
14513
|
defaultProps: {
|
|
14158
|
-
...
|
|
14514
|
+
...defaultProps10,
|
|
14159
14515
|
...aggregationExp && { aggregationExp },
|
|
14160
14516
|
...aggregationResLevel && { aggregationResLevel },
|
|
14161
14517
|
uniqueIdProperty: "geoid"
|
|
@@ -14373,12 +14729,12 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14373
14729
|
assert(dataset, `No dataset matching dataId: ${dataId}`);
|
|
14374
14730
|
const { data } = dataset;
|
|
14375
14731
|
assert(data, `No data loaded for dataId: ${dataId}`);
|
|
14376
|
-
const { Layer:
|
|
14732
|
+
const { Layer: Layer8, propMap, defaultProps: defaultProps11 } = getLayer(type, config, dataset);
|
|
14377
14733
|
const styleProps = createStyleProps(config, propMap);
|
|
14378
|
-
return new
|
|
14734
|
+
return new Layer8({
|
|
14379
14735
|
id: id4,
|
|
14380
14736
|
data,
|
|
14381
|
-
...
|
|
14737
|
+
...defaultProps11,
|
|
14382
14738
|
...createInteractionProps(interactionConfig),
|
|
14383
14739
|
...styleProps,
|
|
14384
14740
|
...createChannelProps(id4, type, config, visualChannels, data),
|
|
@@ -14386,7 +14742,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14386
14742
|
...createLoadOptions(token)
|
|
14387
14743
|
});
|
|
14388
14744
|
} catch (e) {
|
|
14389
|
-
|
|
14745
|
+
import_core14.log.error(e.message)();
|
|
14390
14746
|
return void 0;
|
|
14391
14747
|
}
|
|
14392
14748
|
})
|
|
@@ -14843,6 +15199,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14843
15199
|
H3TileLayer,
|
|
14844
15200
|
_PointLabelLayer: PointLabelLayer,
|
|
14845
15201
|
QuadbinTileLayer,
|
|
15202
|
+
QuadbinHeatmapTileLayer: quadbin_heatmap_tile_layer_default,
|
|
14846
15203
|
RasterTileLayer,
|
|
14847
15204
|
VectorTileLayer
|
|
14848
15205
|
};
|
|
@@ -14863,9 +15220,9 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
|
14863
15220
|
|
|
14864
15221
|
// ../layers/bundle/peer-dependency.ts
|
|
14865
15222
|
var peer_dependency_exports = {};
|
|
14866
|
-
var
|
|
15223
|
+
var import_layers6 = __toESM(require_layers(), 1);
|
|
14867
15224
|
__reExport(peer_dependency_exports, __toESM(require_layers(), 1));
|
|
14868
|
-
if (!
|
|
15225
|
+
if (!import_layers6.GeoJsonLayer) {
|
|
14869
15226
|
throw new Error("@deck.gl/layers is not found");
|
|
14870
15227
|
}
|
|
14871
15228
|
|