Mapbox 热力图属性简单说明

本文只作为学习记录,参考官方文档

https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-heatmap

由于英语不好,只是大体理解了,但为了方便记录一下,很多理解不正确的地方 希望指点勿喷。

heatmap-weight:表示一个点对热力图权重的贡献,在贡献越大的地方热力图显示应该越明显

heatmap-intensity:热力图强度,有点类似于heatmap-weight属性,但是该属性是设置整体上热力图的强度

heatmap-color:热力图的颜色,设置在各个热力图的数值上是什么颜色

heatmap-radius:热力图的一个点计算权重的时候计算的点的半径,单位为像素,默认为30

heatmap-opacity:热力图的透明度

下面根据自己的理解说明以官网事例中各个属性的意思

        "heatmap-weight": [
                        "interpolate",
                        ["linear"],
                        ["get", "mag"],
                          0, 0,
                          6, 1
                    ],

获取配一个要素的mag属性的值来设置每一个点对热力图强度的贡献,事例表示当mag的数值在0~6之间的时候对热力图强度贡献为从0到1进行线性贡献,大于6表示贡献为1,小于0表示无贡献

 "heatmap-intensity": [
                 "interpolate",
                 ["linear"],
                 ["zoom"],
                 0, 1,
                 9, 3      ],

根据地图的缩放级别类设置热力图的强度,当缩放级别在0~9之间进行线性变化的时候,热力图的强度从1~3进行线性变化,小于0是 强度为0,大于9时强度为3,heatmap-intensity is a multiplier on top of heatmap-weight

    "heatmap-color": [
                "interpolate",
                ["linear"],
                ["heatmap-density"],
                0, "rgba(33,102,172,0)",
                0.2, "rgb(103,169,207)",
                0.4, "rgb(209,229,240)",
                0.6, "rgb(253,219,199)",
                0.8, "rgb(239,138,98)",
                1, "rgb(178,24,43)"
                    ],

设置热力图的颜色,热力图是颜色在强度在给定的两个范围进颜色记性线性变化,heatmap-density表示热力图的密度, 

"heatmap-radius": [
                "interpolate",
                ["linear"],
                ["zoom"],
                0, 2,
                9, 20     ],

设置在不同缩放级别的时候更改热力图计算的半径,

"heatmap-opacity": [
                "interpolate",
                ["linear"],
                ["zoom"],
                7, 1,
                9, 0    ],

设置热力图的透明度,是整体图形的透明度,在zoom处于7~9间将热力图逐渐的透明,在zoom大于9的时候完全透明

该事例中使用到interpolate,具体参考官方地址

https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-interpolate


      


  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值