Kepler.gl

前言

        kepler.gl是由Uber开发的进行空间数据可视化的开源工具,是Uber内部进行空间数据可视化的默认工具,通过其面向Python开放的接口包keplergl,我们可以在jupyter notebook中通过书写Python代码的方式传入多种格式的数据,在其嵌入notebook的交互窗口中使用其内建的多种丰富的空间数据可视化功能。可以让你不需要任何编程基础,即可实现数据地图的可视化。

        项目 GitHub 库地址:https://github.com/keplergl/kepler.gl

 

海量数据显示

        以一份成都市出租车GPS记录数据为例,该数据集已提前清洗完成,仅提取了原始数据集中某一天的部分数据。数据记录了成都市部分出租车在载客时的GPS位置和时间等信息,数据记录的格式为 CSV 格式。

      对各个字段逐个解释如下:

  • TID:出租车的ID。每辆出租车的TID都是唯一的。
  • Lat:出租车状态为载客时的纬度。
  • Lon:出租车状态为载客时的经度。
  • Time:该条记录的时间戳。如 211846 代表 21 点 18 分 46 秒。

       如使用百度地图JS API--添加点时,由于数据量过大(有80多万条记录),数据加载不出且页面卡顿,虽然百度JS API有一个加载海量点的功能,可以实现快速加载海量点,但可视化效果并不美观。

Kepler.gl_第1张图片

       海量点是不可以自定义点的样式的,只可以通过三个属性去改变点的大小、类型、颜色。

var options = {
            size: BMAP_POINT_SIZE_SMALL,
            shape: BMAP_POINT_SHAPE_CIRCLE,
            color: 'blue'
        }

 Kepler.gl_第2张图片                      Kepler.gl_第3张图片

 

使用Kepler.gl

        想先试试看效果的话,可以登录官方Demo (网址时好时坏,多试试

Kepler.gl_第4张图片

       kepler.gl采用GPU渲染,可以快速的渲染几万个数据点

Kepler.gl_第5张图片

    对数据进行处理,可以按时间序列展示(格式HHH:MM:SS

Kepler.gl_第6张图片

Kepler.gl_第7张图片

    按ID筛选出租车并随时间序列演示播放

Kepler.gl_第8张图片

 

    本地安装

pip install keplergl

    加载地图(jupyter notebook)

from keplergl import KeplerGl
map_1 = KeplerGl()
map_1

    加载数据

# DataFramed
import pandas as pd
df = pd.read_csv('taxi.csv')
map_1.add_data(data=df, name='data_1')

# CSV
with open('taxi.csv', 'r') as f:
    csvData = f.read()
    map_1.add_data(data=csvData, name='data_2')

# GeoJSON
with open('taxi.json', 'r') as f:
    geojson = f.read()
    map_1.add_data(data=geojson, name='geojson')

其他数据源

   Kepler官方数据提供:https://github.com/uber-web/kepler.gl-data

 

参考

    费弗里:在jupyter notebook中利用kepler.gl进行空间数据可视化

 

你可能感兴趣的:(可视化)