一、Kepler.gl简介
Kepler.gl是Uber开发的空间可视化开源工具,依托强大的图片渲染能力,可以在浏览器端呈现多种高端酷炫可视化地图,以下两张为官网的示例图,更多信息可详见官网kepler.gl


二、案例演示
2.1 数据介绍
本文的案例数据分为两个(均附于文末):一是湖北省2020年1月-3月疫情相关数据HuBei-COVID-19.csv
,其部分内容如下图所示:
其中,lon,lat分别表示湖北省各地级市的经纬度。二是湖北省各地级市矢量数据HuBei.json
,主要是用来显示各个地级市的轮廓(若有小伙伴想自行制作其他省份的动态图,数据可参考Python 一键获取市县级城市经纬度信息一文获取。)
2.2 基本设置
打开官网后,依次添加csv和json数据如下图所示
首先,删除红框处多余的图层(这是Kepler.gl自动识别出的)
其次,将Point图层放置Geojson图层的上方,防止数据点被覆盖。
完成后,打开Geojson图层,关闭图层填充,根据个人喜好选择合适的轮廓线条颜色及粗细
再打开Point所在图层,可选择多种渲染模式,这里选择Heatmap(热力图)的方式,其主要设置如下
接下来,就是让这些热力点动起来了!按如下方式添加时间轮播依据的信息字段
选择字段updateTime即可。
注意:这里时间变量的格式必须为hh:mm:ss,也就是必须要有时分秒,类似2021/1/28
这种形式日期格式是无法识别的!
随后,则会出现以下时间轮播部件,按个人喜好设置时间跨度及播放速度
最终得到的效果图如下所示
三、Jupyter Notebook中实现
Kepler.gl官网有时候存在网速过慢而打不开等问题,这时我们可以选择Jupyter Notebook中实现上述过程。基本步骤如下:
3.1 安装kepler模块
注意:keplergl依赖于geopandas等模块(详细可参照geopandas安装心得),需要先将其安装好,后再使用pip install
pip install keplergl
3.2 基本用法
import pandas as pd
from keplergl import KeplerGl
import json
data1 = pd.read_csv('c:/users/dell/Desktop/HuBei-COVID-19.csv',encoding='gbk')
with open('c:/users/dell/Desktop/HuBei.json','r',encoding='utf-8') as f:
data2 = json.load(f)
map1 = KeplerGl(height=800, data={'layer1': data1,
'layer2': data2}) #载入两个图层,图层二主要用于呈现湖北省各地级市轮廓
map1.save_to_html(file_name='动态热力图.html', data={'layer1': data1,
'layer2': data2}) # 导出网页
打开网页后,按照同样的方式,调整参数,最终得到的效果图如下:
注:jupyter中的kepler.gl版本为0.2.1,与官网最新2.4.1版本存在些许差别
更多详细参数设置可参考Kepler.gl-jupyter,本文案例数据如下:
链接:https://pan.baidu.com/s/1otkkZmN5FkohnK70wnZSEQ
提取码:r641
以上就是本次分享的全部内容~