本文可视化用到了GeoPackage(简称GPKG)的数据格式,GeoPackage是一种基于SQLite数据库的地理空间数据存储格式,支持存储矢量数据、栅格数据及相关属性数据。
gpkg较shp的优势
GeoPackage支持通过SQL查询和编程接口进行复杂的数据处理和分析,相比于shp文件的扩展性相对有限,主要依赖于GIS软件的内置功能来处理和分析数据。虽然可以通过编写自定义脚本或程序来处理shp文件,但这种方式通常需要较高的编程技能和对GIS数据结构的深入理解;
在处理大规模数据时,GeoPackage通常表现出更高的数据处理效率。这是因为GeoPackage支持空间索引和数据压缩等高级功能,可以显著减少数据检索和传输的时间;
然而对GeoPackage支持较好的软件包括QGIS、ArcGISpro 等,由于ArcGIS在10.8版本后不再更新,对新的数据格式支持较差,所以本文下载了ArcGISpro3.1.5版本来进行数据处理。
下载链接参考,文中作者下载步骤讲述的比较详细,这里就不再赘述了:ArcGISpro保姆式安装教程,附加安装包,ArcGISpro3.1.5版本安装2023年版本,ArcGIS安装包免费下载,安装教程-CSDN博客
第一步需要安装一下osmnx、networkx的包;
pip install osmnx
pip install networkx
然后就可以开代理下载OpenStreetMap路网数据了,这里以广州市为例;
import osmnx as ox
# 将地点定义为广州市
place_name = "guangzhou, Guangdong, China"
# 获取广州市的街道网络图
G = ox.graph_from_place(place_name)
# 保存为GeoPackage文件,文件名与数据匹配
ox.save_graph_geopackage(G, filepath="D:/data/GuangZhou_network.gpkg")
就会得到GuangZhou_network.gpkg文件,文件里有一个点数据,一个路网数据,导入ArcGISpro 就是这个效果;
属性表里包含了包括道路id、名称、车道数、道路类型等一些数据标签,当然也有不全的,且里面大部分路网是双线,需要转单线的话则需要另行处理;
文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。