目前,我正在手动设置止损点,但是我的GeoJSON文件有不同的范围,每次我都必须设置stops值。是否可以在map.addLayer函数中使用属性的min和最大值?然后把它划分成一系列的值?我目前正在解析GeoJSON以获得最小值和最大值,并且我不确定mapbox是否提供了这个功能。
map.addLayer({
'id': 'heatmap',
'type': 'circle',
'source': "sourceGeoJSON",
paint: {
'circle-color': {
property:'pH',
stops: [
[6,'#6879FB'],
[8,'#68FB75'],
[9, '#F94B18'],
[10, '#F92918']
];
},
'circle-opacity': 1.0
}
});发布于 2017-10-11 11:46:34
Mapbox不提供任何自动绑定功能。在一个范围内创建线性回收箱非常简单:
phvals = sourceGeoJSON.features.map(f => f.properties.pH);
min = Math.min(...phvals);
max = Math.max(...phvals);
range = max-min;
map.addLayer({
'id': 'heatmap',
'type': 'circle',
'source': "sourceGeoJSON",
paint: {
'circle-color': {
property:'pH',
stops: [
[min,'#6879FB'],
[min + 1/3*range,'#68FB75'],
[min + 2/3*range, '#F94B18'],
[max, '#F92918']
];
},
'circle-opacity': 1.0
}
});为了更进一步,请考虑在简单统计包中使用类似于奇克法函数的内容。
https://stackoverflow.com/questions/46604668
复制相似问题