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

Python 使用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

输出

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

数据集共有5行5列,显示了城市的几何形状、面积、长度、名称和它们的borocode。

为了直观地表示这些细节:

我们将使用内置的方法’plot()’来直观地显示这些细节。

示例

maps.plot()

输出

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

为了显示城市之间的明显区别,我们可以使用edgecolor绘制给定数据集。

示例

maps.plot(edgecolor = 'black')

输出

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

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

示例

maps.plot(column = 'BoroName')

输出

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

在这里,我们将绘制另一列,并设置边框颜色。

示例

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

输出

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

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

示例

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

输出

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

通过使用 ‘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')

输出

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

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程