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")

更多资料

相关推荐
芷栀夏29 分钟前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
酷酷的崽79833 分钟前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源
晚霞的不甘1 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
冬奇Lab2 小时前
一天一个开源项目(第14篇):CC Workflow Studio - 可视化AI工作流编辑器,让AI自动化更简单
人工智能·开源·编辑器
晚霞的不甘2 小时前
CANN 支持强化学习:从 Isaac Gym 仿真到机械臂真机控制
人工智能·神经网络·架构·开源·音视频
爱吃泡芙的小白白2 小时前
环境数据多维关系探索利器:Pairs Plot 完全指南
python·信息可视化·数据分析·环境领域·pairs plot
ujainu2 小时前
解码昇腾AI的“中枢神经”:CANN开源仓库全景式技术解析
人工智能·开源·cann
斯普信专业组2 小时前
构建基于MCP的MySQL智能运维平台:从开源服务端到交互式AI助手
运维·mysql·开源·mcp
旺仔Sec2 小时前
一文带你看懂免费开源 WAF 天花板!雷池 (SafeLine) 部署与实战全解析
web安全·网络安全·开源·waf
心疼你的一切2 小时前
语音革命:CANN驱动实时语音合成的技术突破
数据仓库·开源·aigc·cann