首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MAPBOX-如何在数据驱动样式设计中使用GeoJSON特性的最小值和最大值

MAPBOX-如何在数据驱动样式设计中使用GeoJSON特性的最小值和最大值
EN

Stack Overflow用户
提问于 2017-10-06 11:25:06
回答 1查看 914关注 0票数 1

目前,我正在手动设置止损点,但是我的GeoJSON文件有不同的范围,每次我都必须设置stops值。是否可以在map.addLayer函数中使用属性的min和最大值?然后把它划分成一系列的值?我目前正在解析GeoJSON以获得最小值和最大值,并且我不确定mapbox是否提供了这个功能。

代码语言:javascript
运行
复制
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
    }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-11 11:46:34

Mapbox不提供任何自动绑定功能。在一个范围内创建线性回收箱非常简单:

代码语言:javascript
运行
复制
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
    }
});

为了更进一步,请考虑在简单统计包中使用类似于奇克法函数的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46604668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档