GeoPandas 是一個開源的 Python 庫,用于處理地理空間數據。它擴展了 Pandas 這個流行的 Python 數據操作庫,增加了對地理數據類型和操作的支持。GeoPandas 結合了 Pandas、Matplotlib 和 Shapely 的功能,提供了一個易于使用且高效的工具,用于處理地理空間數據。
GeoPandas 是一個開源項目,用于處理地理空間 Python 中的數據更容易。GeoPandas 擴展了 pandas 使用的數據類型,以允許對幾何類型進行空間運算。幾何 操作由 Shapely 執行。Geopandas 進一步依賴 fiona 進行文件訪問,并依賴 matplotlib 進行繪圖。
-
官網地址:GeoPandas 0.dev+untagged — GeoPandas 0+untagged.50.g9a9f097.dirty 文檔
-
-
成熟社區
- GIS Stack Exchange
GIS Stack Exchange 是專注于地理信息系統的問答社區。您可以在這里找到與 GeoPandas 相關的問題和答案,涉及地理空間數據處理、地圖繪制、坐標轉換等方面。
網址為:https://gis.stackexchange.com/
- GitHub和Stack Overflow
GeoPandas 的 GitHub 倉庫是這個:https://github.com/geopandas/geopandas
這個倉庫是 GeoPandas 項目的官方代碼托管地點,您可以在這里找到 GeoPandas 的源代碼、問題追蹤、合并請求以及開發者討論。如果您對貢獻代碼、報告問題或者了解 GeoPandas 的最新開發進展感興趣,這個倉庫將會是一個重要的參考資源。
在這個倉庫中,您可以找到 GeoPandas 的代碼庫、開發文檔、貢獻指南等信息。同時,您也可以在 Issues 頁面中報告 bug、提出功能請求,或者在 Pull Requests 頁面中參與代碼的貢獻和討論。
通過 GitHub 倉庫,您可以與 GeoPandas 社區中的開發者和其他用戶進行交流、分享想法,并參與到 GeoPandas 的持續發展和改進中。
1. GeoPandas的核心概念
GeoPandas 是一個用于處理地理空間數據的 Python 庫,它構建在許多其他庫的基礎之上,主要是 Pandas、Shapely 和 Fiona。以下是 GeoPandas 中的一些核心概念:
-
GeoSeries 和 GeoDataFrame: 這兩個數據結構是 GeoPandas 的核心。它們分別是基于 Pandas 的 Series 和 DataFrame,但增加了對地理空間數據的支持。
GeoSeries
是一維的數據結構,類似于 Pandas 的 Series,但其元素是幾何對象。GeoDataFrame
類似于 Pandas 的 DataFrame,但至少包含一個列是GeoSeries
,表示幾何數據。 -
幾何對象: GeoPandas 支持幾何對象,比如點(Point)、線(LineString)、多邊形(Polygon)等。這些幾何對象可以儲存在
GeoSeries
中,并允許執行各種空間分析和操作。 -
地理空間數據的操作: GeoPandas 提供了各種地理空間數據操作,例如緩沖區分析、空間查詢、幾何對象的交集、并集等。
-
讀取和寫入地理空間數據: GeoPandas 支持讀取和寫入多種地理空間數據格式,如 ESRI Shapefile、GeoJSON、GeoPackage 等,以及與其他 GIS 軟件兼容的格式。
-
地理空間操作函數: GeoPandas 結合了 Shapely 庫的功能,可以進行一系列的空間操作,包括距離計算、幾何對象的交叉判斷、幾何對象的緩沖區生成等。
-
地圖繪制和可視化: GeoPandas 結合了 Matplotlib 的功能,可以直接從
GeoDataFrame
中繪制地圖,顯示地理空間數據的可視化結果。
這些概念構成了 GeoPandas 的基本構架和核心功能。借助這些特性,GeoPandas 提供了一個便捷而強大的工具,用于處理和分析地理空間數據,并能夠與其他 Python 數據科學和地理信息系統 (GIS) 工具很好地整合。
2. 安裝使用GeoPandas
在 Windows 上安裝 GeoPandas 并在 Jupyter Notebook 中使用,您可以按照以下步驟操作:
步驟一:安裝 Python
如果您尚未安裝 Python,請從 Python 官網 下載并安裝最新版本的 Python。在安裝過程中,請確保勾選“Add Python to PATH”選項,以便在命令行中訪問 Python。
步驟二:安裝依賴工具
1. 安裝 Visual C++ Build Tools
GeoPandas 和其依賴項中的部分庫可能需要編譯 C/C++ 擴展。在 Windows 上,您可能需要安裝 Visual C++ Build Tools。您可以從 Visual Studio Build Tools 下載并安裝適用于您系統的 Visual C++ Build Tools。
2. 安裝 GDAL、Fiona、Rtree 和 Pyproj
打開命令提示符(Command Prompt)或 PowerShell,并執行以下命令來安裝 GeoPandas 的一些依賴項:
pip install wheel
pip install GDAL Fiona Rtree Pyproj
步驟三:安裝 GeoPandas 和 Jupyter Notebook
-
打開命令提示符(Command Prompt)或 PowerShell。
-
執行以下命令安裝 GeoPandas 和 Jupyter Notebook:
pip install geopandas
pip install jupyterlab
步驟四:啟動 Jupyter Notebook
-
在命令提示符(Command Prompt)或 PowerShell 中,導航到您想要工作的目錄。
-
啟動 Jupyter Notebook,輸入以下命令并按 Enter:
jupyter notebook
這將在默認瀏覽器中打開 Jupyter Notebook,并允許您創建新的 Python Notebook。在 Notebook 中,您可以導入 GeoPandas 并開始使用它進行地理空間數據分析和操作。例如:
import geopandas as gpd# 如果沒有報錯,表示成功導入 GeoPandas
這些步驟將在 Windows 系統上幫助您安裝 GeoPandas 并在 Jupyter Notebook 中使用它。如果遇到任何問題,請隨時在這里咨詢。
此處有坑
會出現本機電腦安裝了python,而Jupyter Notebook中會自帶一個Python,所以需要在Jupyter的Kernel中創建并切換
首先需要找到需要使用python主環境
C:\Python39\python.exe -m pip install ipykernelC:\Python39\python.exe -m ipykernel install --user --name myenv --display-name "Python 3.9 (myenv)"
3. 使用GeoPandas展示一下shp文件
3.1 簡單展示一下
import geopandas as gpd# 替換為您的 Shapefile 文件路徑
shapefile_path = r'D:\BaiduNetdiskDownload\北京市行政區劃\北京市t.shp'
gdf = gpd.read_file(shapefile_path)# 顯示加載的地理數據
gdf.plot()
3.2 展示稍大數據量的矢量shp數據
import geopandas as gpd
import timedef plotShapefile(shapefile_path):# 記錄開始時間start_time = time.time() gdf = gpd.read_file(shapefile_path)end_time = time.time() # 記錄結束時間# 計算執行時間(以秒為單位)execution_time = end_time - start_timeprint("read_file time: {:.4f} seconds".format(execution_time))start_time=end_timegdf.plot()end_time = time.time() # 記錄結束時間# 計算執行時間(以秒為單位)execution_time = end_time - start_timeprint("gdf.plot time: {:.4f} seconds".format(execution_time))plotShapefile(r'D:\BaiduNetdiskDownload\北京市行政區劃\北京市t.shp')
plotShapefile(r'D:\BaiduNetdiskDownload\湖北省數據\矢量數據\第二種路網\湖北省_road.shp')