【问题标题】:MAPBOX- how to use minimum and maximum value of features from GeoJSON in Data Driven StylingMAPBOX-如何在数据驱动样式中使用来自 GeoJSON 的特征的最小值和最大值
【发布时间】:2017-10-11 19:46:34
【问题描述】:

目前,我正在手动设置停靠点,但我的 GeoJSON 文件有不同的范围,我必须每次都设置停靠点值。 是否可以在 map.addLayer 函数中使用属性的最小值和最大值?然后将其划分为一系列值? 我目前正在解析 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
    }
});

【问题讨论】:

    标签: javascript mapbox mapbox-gl-js


    【解决方案1】:

    Mapbox-GL-JS 不提供任何自动分箱功能。在一个范围内创建线性 bin 非常简单:

    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
        }
    });
    

    要更进一步,请考虑在 Simple Statistics 包中使用类似 ckmeans 的函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-22
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-16
      • 2015-10-17
      • 2019-01-02
      相关资源
      最近更新 更多