deck.gl переходы и фильтрация

Кто-нибудь может объяснить, как обновления данных и переходы работают с Deck.gl по сравнению с d3js? Например, в этом коде:

var updateLayers = function(dataset) {
var scatterplot = new deck.ScatterplotLayer({
    /* unique id of this layer */
    id: 'checkins',
    /* data: an array of objects */
    data: dataset,
    /* data accessors */
    getPosition: d => d.geometry.coordinates, // returns longitude, latitude, [altitude]
    getRadius: d => circleSize(d.properties.reviews), // returns radius in meters
    getColor: d => [255, 0, 0],
    outline: true, // returns R, G, B, [A] in 0-255 range
    transitions: {
        getRadius: {
            duration: 1000,
            easing: d3.easeCubicInOut,
            enter: value => [value[0], value[1], value[2], 1] // fade in
        }
    }
})

// Add the layer to deckgl:
deckgl.setProps({ layers: [scatterplot] });
}

Мне непонятно что enter: value => [value[0], value[1], value[2], 1] делается. Кто-нибудь может объяснить? Я бы вообще ожидал (за d3js), что это enter: устанавливает точки останова при переходе, но мне непонятно, что value относится к?

1 ответ

https://github.com/uber/deck.gl/blob/master/docs/api-reference/layer.md

enter - Function - APPEARANCE (value => value) - обратный вызов для получения значения, от которого переходят входящие вершины.

Enter должен возвращать значение для перехода от. для текущей вершины.

Он получает два аргумента:

toValue (TypedArray) - новое значение для перехода к текущей вершине

fromChunk (Array | TypedArray) - существующее значение для перехода, для блока, к которому принадлежит текущая вершина. "Чанк" - это группа вершин, которые помогают обратному вызову определять контекст этого перехода. Для большинства слоев все объекты находятся в одном куске. Для PathLayer и PolygonLayer каждый путь / полигон является порцией.

Другие вопросы по тегам