随笔 - 833  文章 - 1  评论 - 106  阅读 - 200万

Leaflet绘制热力图【转】

http://blog.csdn.net/giser_whu/article/details/51485871

时下用的最多的开源二维webgis引擎应该是openlayers与leaflet了,leaflet因其轻量、灵活性得到了越来越多的应用。并且leaflet的插件也非常多,综合使用的话,可以很容易的实现数据的可视化分析与应用

1、leaflet-heat插件

leaflet-heatmap插件:https://github.com/Leaflet/Leaflet.heat
leaflet插件:http://leafletjs.com/plugins.html
leaflet Github上有详细的使用说明,就不做翻译搬运工了

2、leaflet-heat插件使用

和以前一样,使用requirejs引入leaflet-heat.js:

require.config({
    waitSeconds : 0,
    paths : {
        //库文件
        leaflet : '../lib/leaflet/dist/leaflet',
        leafletheat : '../lib/leaflet/plugins/heatmap/leaflet-heat',

        //js文件
    },
    shim : {
        'leafletheat' : {
            deps : ['leaflet'],
            exports : 'leafletheat'
        }
    }
});

构建洪涝点位数组[lat,lng],这里我没有使用intensity,封装一个绘制洪涝热力图方法:

    /**
     * 绘制洪涝热力图
     * @param heatmapData:洪涝点位数组
     * @returns {*}:洪涝热力图图层
     */
    Engine.prototype.drawFloodHeatLayer = function(heatmapData){
        return L.heatLayer(heatmapData, {
            minOpacity : 0.5,
            radius : 12,
        });
    };

调用该方法创建一个洪涝热力图图层即可,另外leaflet-heat插件还提供了以下几个方法:

方法说明
setOptions(options) 设置heatmap属性并重新绘制
addLatLng(latlng) 向heatmap动态添加数据并重新绘制
setLatLngs(latlngs) 重置heatmap数据并重新绘制
redraw() 重绘,刷新

使用以上方法可以很容易实现图层的更新:根据每次的查询结果,动态绘制不同时期的洪涝热力图。

3、实现效果

2016年以来洪涝热力图
这里写图片描述
2015年洪涝热力图
这里写图片描述

4、总结

热力图的可视化效果可以通过调整其配置参数以达到最佳的可视化效果。由热力图可以很直观的看出洪涝的地域分布情况,即使在新疆也会有洪涝,大多数可能是融雪性洪涝。

posted on   3D入魔  阅读(4919)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2015-12-26 几种支持动作模型格式的比较(MD2,MD5,sea3d) 【转】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示