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