使用 Geoplotlib 构建地理图
介绍
Geoplotlib 是一个用于可视化地理数据的开源 Python 工具箱。它支持以纯 Python 开发硬件加速的交互式可视化,并提供点图、核密度估计、空间图、Voronoi 镶嵌、shapefile 以及更多常见空间可视化的实现。
Geoplotlib 可以用来制作多种地图,例如等效面积图、热力图、点密度图等,还有几个扩展模块:
- geoplotlib
- geoplotlib.layers
- geoplotlib.utils
- geoplotlib.core
- geoplotlib.colors
在本指南中,您将学习如何在 Windows 操作系统上使用 geoplotlib 构建地理图。我们将首先安装 geoplotlib 所需的软件包。
所需软件包列表:
- 点子
- numpy >= 1.12
- pyglet >= 1.2.4
可选要求:
- matplotlib 用于颜色图
- scipy 用于某些层
- pyshp 用于读取 .shp 文件
安装所需的软件包
安装 Pip
在 Windows 操作系统上安装 Pip 可能有点棘手,但也非常简单。 步骤 1:使用以下链接下载并安装适用于 Visual Studio 2015、2017 和 2019 的 Microsoft Visual C++ Redistributable。
https://aka.ms/vs/16/release/vc_redist.x64.exe
https://www.python.org/downloads/release/python-382/
pip3 install --upgrade pip
pip3 --version
安装 Numpy
使用pip包如下图所示:
pip3 install numpy
安装 Pyglet
pip3 install Pyglet
安装 Geoplotlib
pip3 install geoplotlib
创建点密度图
步骤 1:从LatLong.net下载一个简单的地理空间数据集(包含纬度和经度值)。
第 2 步:突出显示表格,将其复制并粘贴到 Excel 中,然后保存为 CSV 文件。
步骤 3:在 Python 编辑器中复制或输入以下脚本。
import geoplotlib
from geoplotlib.utils import read_csv
data = read_csv("C:\\Users\\Omotayo\\Desktop\\nigeria_cities.csv") #replace path with your file path
geoplotlib.dot(data,point_size=3)
geoplotlib.show()
输出:
您已经创建了尼日利亚城市的点密度地图。
创建空间图
步骤 1:从github brain 上的 andrea-cuttone下载一个简单的地理空间数据集(包含纬度和经度值)。
第 2 步:在 Python 编辑器中复制或输入以下脚本。
import geoplotlib
from geoplotlib.utils import read_csv
data = read_csv("C:\\Users\\Omotayo\\Desktop\\flight.csv") #replace path with your file path
geoplotlib.graph(data, src_lat='lat_departure', src_lon='lon_departure', dest_lat='lat_arrival', dest_lon='lon_arrival', color='hot_r', alpha=16, linewidth=2)
geoplotlib.show()
输出:
您创建了机场位置的空间图,其中每个节点代表一个机场,每条边代表一个航班连接。
结论
在本指南中,您学习了如何使用 geoplotlib,这是一个用于生成地理可视化的 Python 工具箱。我们演示了如何使用 geoplotlib 来绘制点密度图和空间图。Geoplotlib 是一个功能强大的 API,可以使用简介部分中突出显示的各种模块来绘制各种类型的地图,例如 voronio 镶嵌、delaunay 三角剖分、标记等。
如果我们不特别感谢 geoplotlib 包的创建者以及 Andrea Cuttone、Sune Lehmann、Jakob Eg Larsen 和 LatLong.net,本指南就不完整。
要了解更多信息,请访问Andrea Cuttone 的 github 页面。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~