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

更多资料

相关推荐
我就是全世界35 分钟前
开源集成开发环境搭建之VSCode启动Jupyter Notebook
ide·vscode·jupyter
giszz1 小时前
【开源大模型生态9】百度的文心大模型
人工智能·开源
华为云开源2 小时前
openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才
数据库·云原生·开源
limingade6 小时前
手机实时提取SIM卡打电话的信令和声音-新的篇章(一、可行的方案探讨)
物联网·算法·智能手机·数据分析·信息与通信
编程零零七6 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
铁匠匠匠8 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
惟长堤一痕12 小时前
医学数据分析实训 项目四回归分析--预测帕金森病病情的严重程度
数据挖掘·数据分析·回归
shiming887914 小时前
Python数据分析与可视化
开发语言·python·数据分析
一声沧海笑14 小时前
dplyr、tidyverse和ggplot2初探
信息可视化·数据分析·r语言
sqll56714 小时前
最新简洁大方的自动发卡网站源码/鲸发卡v11.61系统源码/修复版
前端·开源·html