in src/layers/h3-hexagon-layer/h3-hexagon-layer.js [157:212]
formatLayerData(datasets, oldLayerData, opt = {}) {
const {
colorScale,
colorDomain,
colorField,
color,
sizeField,
sizeScale,
sizeDomain,
coverageField,
coverageScale,
coverageDomain,
visConfig: {sizeRange, colorRange, coverageRange, enable3d}
} = this.config;
const {gpuFilter} = datasets[this.config.dataId];
const getHexId = this.getPositionAccessor();
const {data} = this.updateData(datasets, oldLayerData);
// color
const cScale =
colorField &&
this.getVisChannelScale(
colorScale,
colorDomain,
colorRange.colors.map(c => hexToRgb(c))
);
// height
const sScale =
sizeField && enable3d && this.getVisChannelScale(sizeScale, sizeDomain, sizeRange, 0);
// coverage
const coScale =
coverageField && this.getVisChannelScale(coverageScale, coverageDomain, coverageRange, 0);
const getElevation = sScale
? d => this.getEncodedChannelValue(sScale, d.data, sizeField, 0)
: defaultElevation;
const getFillColor = cScale
? d => this.getEncodedChannelValue(cScale, d.data, colorField)
: color;
const getCoverage = coScale
? d => this.getEncodedChannelValue(coScale, d.data, coverageField, 0)
: defaultCoverage;
return {
data,
getElevation,
getFillColor,
getHexId,
getCoverage,
getFilterValue: gpuFilter.filterValueAccessor()
};
}