in src/layers/s2-geometry-layer/s2-geometry-layer.js [194:261]
formatLayerData(datasets, oldLayerData, opt = {}) {
const {
colorScale,
colorDomain,
colorField,
color,
heightField,
heightDomain,
heightScale,
strokeColorField,
strokeColorScale,
strokeColorDomain,
sizeScale,
sizeDomain,
sizeField,
visConfig
} = this.config;
const {
enable3d,
stroked,
colorRange,
heightRange,
sizeRange,
strokeColorRange,
strokeColor
} = visConfig;
const {gpuFilter} = datasets[this.config.dataId];
const getS2Token = this.getPositionAccessor();
const {data} = this.updateData(datasets, oldLayerData);
const cScale =
colorField &&
this.getVisChannelScale(colorScale, colorDomain, colorRange.colors.map(hexToRgb));
// calculate elevation scale - if extruded = true
const eScale =
heightField && enable3d && this.getVisChannelScale(heightScale, heightDomain, heightRange);
// stroke color
const scScale =
strokeColorField &&
this.getVisChannelScale(
strokeColorScale,
strokeColorDomain,
strokeColorRange.colors.map(hexToRgb)
);
// calculate stroke scale - if stroked = true
const sScale =
sizeField && stroked && this.getVisChannelScale(sizeScale, sizeDomain, sizeRange);
return {
data,
getS2Token,
getLineColor: d =>
scScale
? this.getEncodedChannelValue(scScale, d.data, strokeColorField)
: strokeColor || color,
getLineWidth: d =>
sScale ? this.getEncodedChannelValue(sScale, d.data, sizeField, 0) : defaultLineWidth,
getFillColor: d => (cScale ? this.getEncodedChannelValue(cScale, d.data, colorField) : color),
getElevation: d =>
eScale ? this.getEncodedChannelValue(eScale, d.data, heightField, 0) : defaultElevation,
getFilterValue: gpuFilter.filterValueAccessor()
};
}