使用 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”的内置数据集。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP