Jupyter Notebook 里玩转地理数据可视化

什么是 PyL7VP

Jupyter Notebook 是一个基于网页的交互式计算环境,可以用于数据清理和转换、统计建模、数据可视化、机器学习等。对于数据分析的用户来说,适合进行数据可视化,可以通过调整代码和参数来实时更新图表和可视化效果,进行交互式的数据分析和可视化操作,可以帮助我们更好的进行数据分析和探索。

Jupyter Notebook 里有很多的地理数据可视化库,对于小白来说,需要理解库的 API 以及编写较多的代码。pyl7vp 是基于地理数据可视分析工具 L7VP 封装的 Python 环境可视化工具,只需要导入数据的代码,自动根据数据生成可视化效果,只需在工具上简单的可视化操作,完成交互式的数据分析。

简单使用

安装 pyl7vp 包

使用环境:python >= 3

bash 复制代码
$ pip install pyl7vp

创建 L7VP 地图

python 复制代码
from pyl7vp import L7VP

# 地图高度设置为 600
l7vp_map = L7VP(height = 600)

l7vp_map.show()

添加数据

四条数据

python 复制代码
import pandas as pd

# 四条数据(经度,纬度,地震等级)
df = pd.DataFrame(
  {'longitude': [105.005, 104.602, 103.665, 105.275],
   'latitude': [32.349, 32.067, 31.29, 32.416],
   'mag': [5.2, 3.0, 6.0, 2.0]
  })

添加数据到地图上

python 复制代码
# Add dataset to map
l7vp_map.add_dataset({"id": "my_dataset", "type": 'local', "data": df})

# Display map
l7vp_map.show()
添加数据到地图上

自定义我的地图

数据添加到地图上后,可以在工具上自定义配置可视化效果,以及自定义底图和过滤筛选数据等。

自定义可视化图层

添加数据集后可自定义配置多个可视化「图层」。在地图上,图层是可以多个叠加在一起的,来完成数据可视化,在工具上怎么添加可视化图层,可以看教程《添加可视化图层

自定义配置可视化效果

工具支持热力聚集,空间分布,客流聚合等 12+ 种可视化效果

自定义底图样式

可以配置高德和海外的 mapbox 地图,配置不同的底图样式等。

自定义底图样式

支持什么数据格式

工具支持数据源和数据类型有不同的格式,例如 DataFrame、CSV、JSON、Excel、GeoJSON、数据库等,用户可以直接导入并处理各种类型的数据,不需要进行繁琐的转换和预处理操作。比如常见的读取 CSV 文件如下

CSV 文件内容

less 复制代码
id,point_latitude,point_longitude,value,time
a,31.2384,108.30948,5,2019-08-01 12:00:00
b,31.2311,108.30231,11,2019-08-01 12:05:00
c,31.2334,108.30238,9,2020-08-01 11:55:00

将 CSV 文件添加到地图上

python 复制代码
import pandas as pd

df = pd.read_csv('csv-data.csv')

# Add dataset to map
l7vp_map.add_dataset({"id": "my_dataset", "type": 'local', "data": df})

在各种的文件格式中,也可以嵌入地理数据类型,比如数据里嵌入 WKT (Well-Known Text) 格式:

python 复制代码
df = pd.DataFrame({
  'id': ['item-1', 'item-2'], 
  'time': ['2020-02-10', '2020-02-15'], 
  'value': [10, 14], 
  'wkt': ['POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))', 'POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))']
})

# Add dataset to map
l7vp_map.add_dataset({"id": "my_dataset", "type": 'local', "data": df})

以及数据里嵌入 H3 空间索引数据格式:

python 复制代码
df = pd.DataFrame({
  'id': ['item-1', 'item-2'], 
  'time': ['2020-02-10', '2020-02-15'], 
  'value': [10, 14], 
  'h3': ['8940e31acd7ffff', '8940e3c4d2bffff']
})

# Add dataset to map
l7vp_map.add_dataset({"id": "my_dataset", "type": 'local', "data": df})

更多文件格式可以阅读数据格式教程

保存导出结果

可以执行命令将结果保存为 HTML 文件,保存在自己电脑上,也可以把文件分享给其他人,只需要打开文件就可以预览可视化结果了。

python 复制代码
# save to html file
l7vp_map.save_to_html("map.html")

更多资料

相关推荐
预测模型的开发与应用研究4 小时前
数据分析的AI+流程(个人经验)
人工智能·数据挖掘·数据分析
lida20036 小时前
Open FPV VTX开源之OSD使用分类
开源
Mr' 郑6 小时前
开源大模型性能追平闭源模型技术路径分析
开源
IT古董7 小时前
【开源向量数据库】Milvus简介
数据库·开源·milvus
开源社8 小时前
【我与开源】 | 我的开源印象
开源
南郁10 小时前
001-监控你的文件-FSWatch-C++开源库108杰
c++·开源·文件系统·文件监控·fswatch·文件变动信息·libfswatch
小奏技术10 小时前
github如何基于workflow实现自动集成测试提升代码质量
后端·ci/cd·开源
说私域11 小时前
开源AI智能名片2+1链动模式S2B2C商城小程序在社交价值挖掘中的应用与策略研究
人工智能·小程序·开源·流量运营
量子位12 小时前
全球最大开源视频模型,现在也 Created in China 了,阶跃出品
人工智能·开源
一块plus12 小时前
Polkadot 首席开发者 Shawn Tabrizi :创新与韧性如何驱动 Web3 未来?
前端·架构·开源