{
const polygon_layer = new deck.PolygonLayer({
id: 'polygon_layer',
data: polygon_data,
getFillColor: [250, 0, 0],
getLineColor: [250, 0, 0],
getLineWidth: d => poly_line_width,
getPolygon: d => d.coordinates,
stroked: true,
filled: false,
wireframe: true,
pickable: true,
});
const scatter_layer = new deck.ScatterplotLayer({
id: 'scatter_layer',
data: scatter_data,
getPosition: d => {
return [d.x, d.y]
},
getFillColor: d => {
var inst_color
var rgb = d3.color(cat_colors[d.name])
inst_color = [rgb.r, rgb.g, rgb.b, 255]
return inst_color
},
getRadius: radius,
pickable: true,
highlightColor: d => [50, 50, 50],
radiusMinPixels: radius_min_pixels,
updateTriggers: {
},
})
const pointcloud_layer = new deck.PointCloudLayer({
id: 'pointcloud_layer',
data: scatter_data,
getPosition: d => {
return [d.x, d.y, scale_z * d.z]
},
getColor: d => {
var inst_color
var rgb = d3.color(cat_colors[d.name])
inst_color = [rgb.r, rgb.g, rgb.b, 255]
return inst_color
},
getRadius: radius,
pickable: true,
pointSize:2,
sizeUnits:'meters',
highlightColor: d => [50, 50, 50],
radiusMinPixels: radius_min_pixels,
updateTriggers: {
},
})
const bitmap_layer = new deck.BitmapLayer({
id: 'bitmap_layer',
bounds:image_bounds,
image:image_proc
});
if (view_type === '3D'){
deckgl.setProps({layers: [bitmap_layer, polygon_layer, pointcloud_layer]});
} else {
deckgl.setProps({layers: [bitmap_layer, polygon_layer, scatter_layer]});
}
}