使用 GeoPandas 绘制地理空间数据


GeoPandas 是一个广泛使用的 Python 库,建立在 Pandas 库之上,包含了对地理空间数据的支持。在这里,地理空间数据或地理数据描述了与地球表面各种位置相关的信息。这些数据集有很多用例,包括地图可视化、城市规划、贸易地点分析、网络规划等等。在本文中,我们将探讨 GeoPandas 库的工作原理,以及如何使用 GeoPandas 绘制地理空间数据。

使用 Python 中的 GeoPandas 绘制地理空间数据

由于 GeoPandas 扩展了 Pandas 库的功能,因此我们需要首先了解 Pandas 的基础知识。

Pandas

这是一个开源的 Python 库,主要用于数据分析和处理。它可以通过对指定数据执行各种操作(如清理、过滤、分组、聚合和合并)来处理关系数据和标签数据。我们可以使用 GeoPandas 对地理空间数据或地理数据执行这些操作。

如何使用 GeoPandas 绘制地理空间数据?

安装所需的软件包

我们的第一步是使用以下命令安装 GeoPandas 库

pip install geopandas

Python 的 GeoPandas 库提供了一些内置数据集来入门。它包括“naturalearth_cities”、“naturalearth_lowres”和“nybb”。我们将使用“nybb”数据集作为本文的示例。

我们首先需要使用以下命令安装数据集

pip install geodatasets

使用 GeoPandas 库

让我们看一个 Python 程序,展示“nybb”数据集的详细信息。

方法

  • 首先,使用引用名称“geopd”导入“geopandas”。

  • 然后,导入“get_path”以访问“nybb”数据集。

  • 现在,使用“read_file()”方法读取数据集的信息,并将其存储在一个名为“maps”的变量中。

  • 调用此变量以显示结果。

# importing the required packages
import geopandas as geopd
from geodatasets import get_path
# getting the path of file
path_of_file = get_path('nybb')
# reading the data of file
maps = geopd.read_file(path_of_file)
# display the data
maps

输出

该数据集有 5 行和 5 列,显示了城市的几何形状、面积、长度、名称以及它们的 borocode(行政区代码)。

以可视化的方式呈现详细信息

我们将使用内置方法“plot()”以可视化的方式显示详细信息。

示例

maps.plot()

输出

为了清楚地区分城市,我们可以使用 edgecolor(边框颜色)绘制给定的数据集。

示例

maps.plot(edgecolor = 'black')

输出

我们可以通过在 plot 方法中指定名为“column”的属性来绘制数据集的单个列。

示例

maps.plot(column = 'BoroName')

输出

在这里,我们将绘制另一列以及 edgecolor。

示例

maps.plot(column = 'Shape_Leng', edgecolor = 'red')

输出

现在,我们将绘制曼哈顿市的市区地图。

示例

maps = geopd.read_file(path_of_file)
# filtering the Manhattan from the dataset 
newMap = maps[maps.BoroName == 'Manhattan']
newMap.plot(column = 'BoroName', edgecolor = 'red')

输出

借助“subplots()”方法,我们可以在单个图形中创建曼哈顿和布鲁克林市的两个子图。

示例

# importing the required packages
import geopandas as geopd
from geodatasets import get_path
import matplotlib.pyplot as plt
path_of_file = get_path('nybb')
maps = geopd.read_file(path_of_file)
# Creating subplots of two columns
fig, (axs1, axs2) = plt.subplots(ncols = 2, figsize = (6, 4))
# filtering required cities from the dataset 
newMap1 = maps[maps.BoroName == 'Manhattan']
newMap2 = maps[maps.BoroName == 'Brooklyn']
# to plot the cities
newMap1.plot(ax = axs1, column = 'BoroName', edgecolor = 'yellow')
newMap2.plot(ax = axs2, column = 'BoroName', edgecolor = 'yellow')

输出

结论

在本文中,我们学习了如何在绘制地理空间数据时使用 GeoPandas 库。我们首先定义并解释了它的用例,然后我们了解了如何安装此库以供我们使用。我们使用 GeoPandas 库绘制了名为“nybb”的内置数据集。

更新于: 2023年7月21日

245 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告
© . All rights reserved.