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

更多资料

相关推荐
plainGeekDev3 小时前
Glide 该换了?Coil:Kotlin 时代的图片加载库
android·开源·kotlin
键盘上的猫头鹰6 小时前
【从零学MySQL(三)】数据增删改(DML)及 SELECT 查询详解
数据库·mysql·数据分析
阿里云云原生6 小时前
让 AI 读懂企业世界:UModel 对象图语义运行时开源,打造 AI 时代的“数据方言”翻译官
开源
java小吕布7 小时前
Hermes Agent:自带学习闭环的开源 AI 智能体,一键部署全平台可用
人工智能·学习·开源
键盘上的猫头鹰7 小时前
【从零学MySQL(二)】数据库基础操作、数据类型与约束(附Navicat演示)
数据库·mysql·数据分析·数据可视化
a1117768 小时前
小马宝莉 桌宠软件(开源项目 c#)
开源·软件·小马宝莉
xingyuzhisuan8 小时前
2026年GPU租用平台JupyterHub多用户环境配置
服务器·人工智能·jupyter·gpu算力
hef2888 小时前
SQL和Python怎么选?数据分析工具实战指南
python·sql·数据分析
a1117768 小时前
动森UI组件(开源 html animal-island-ui )
前端·javascript·ui·开源·html
Hommy889 小时前
【剪映小助手】贴纸搜索接口
开源·github·aigc·剪映小助手·视频剪辑自动化