网络中有丰富的地理信息数据资源,此处介绍我采用Python工具实现地形地貌、行政区划、城市交通路网等数据获取及可视化的部分实例,供大家参考学习。
1. 简易地形底图绘制
1.1 WMS数据库
针对较大范围的研究区域,我采用WMS数据库的地形底图,依四角坐标下载特定尺寸的图片,并展示。此处以东亚地区为例,逐步展示。
1 | # 1. Set the left, bottom, right, top locations |
出图的样例,如下所示。
1.2 SRTM geotiff数据
对于较小的地理环境,直接采用WMS格式图片清晰度不够。此处介绍下载并绘制原始DEM地形文件的方法。
通过elevation package进行tif格式地形文件的下载
1 | # 以四川某市及周边地区为例 |
1.3 Cartopy STAMEN 图形绘制
数据源stamen是开源的地理信息服务网站,提供道路、地形等多种数据信息。在其官方网页采用手动下方式,仅能以确定中心点和缩放比例的方式进行图片下载,不能实现任意区域内图形获取。此处参照Geology and Python博客中的相关教程,以中国全域为例,展示底图获取和绘制流程。
cartopy是用以分析并可视化地理数据的Python库。
在安装时候,与系统原有的matplotlib.basemap发生冲突,原因在于二者所依赖的GEOS库不一致。在此处花费了不少时间来解决这一问题(网络上也有很多人遇到了类似的问题,如无法同时安装成功,安装后无法import以及执行cartopy有关指令,kernel会自动restart. )。
在此处,我列出了自己的安装步骤:
1 | ## 卸载原有的cartopy及相关库shapely,保留原有的basemap |
2. 行政区划及城市路网信息
此处以四川内江市为例,利用osmnx库,shp文件自动下载于工作文件夹内。
1 | # 行政辖区下载 |
1 | # 内江市东兴区公路路网下载 |
3. 一些有用的小指令
1 | # A. 任意地点的海拔查询 |
Kommentare