GeoPandas初體驗:它是什么,我用它展示一下shp矢量數據

GeoPandas 是一個開源的 Python 庫,用于處理地理空間數據。它擴展了 Pandas 這個流行的 Python 數據操作庫,增加了對地理數據類型和操作的支持。GeoPandas 結合了 Pandas、Matplotlib 和 Shapely 的功能,提供了一個易于使用且高效的工具,用于處理地理空間數據。

GeoPandas 是一個開源項目,用于處理地理空間 Python 中的數據更容易。GeoPandas 擴展了 pandas 使用的數據類型,以允許對幾何類型進行空間運算。幾何 操作由 Shapely 執行。Geopandas 進一步依賴 fiona 進行文件訪問,并依賴 matplotlib 進行繪圖。

  1. 官網地址:GeoPandas 0.dev+untagged — GeoPandas 0+untagged.50.g9a9f097.dirty 文檔

  2. 在這里插入圖片描述

  3. 成熟社區

  • GIS Stack Exchange

GIS Stack Exchange 是專注于地理信息系統的問答社區。您可以在這里找到與 GeoPandas 相關的問題和答案,涉及地理空間數據處理、地圖繪制、坐標轉換等方面。

網址為:https://gis.stackexchange.com/

  • GitHubStack 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 中的一些核心概念:

  1. GeoSeries 和 GeoDataFrame: 這兩個數據結構是 GeoPandas 的核心。它們分別是基于 Pandas 的 Series 和 DataFrame,但增加了對地理空間數據的支持。GeoSeries 是一維的數據結構,類似于 Pandas 的 Series,但其元素是幾何對象。GeoDataFrame 類似于 Pandas 的 DataFrame,但至少包含一個列是 GeoSeries,表示幾何數據。

  2. 幾何對象: GeoPandas 支持幾何對象,比如點(Point)、線(LineString)、多邊形(Polygon)等。這些幾何對象可以儲存在 GeoSeries 中,并允許執行各種空間分析和操作。

  3. 地理空間數據的操作: GeoPandas 提供了各種地理空間數據操作,例如緩沖區分析、空間查詢、幾何對象的交集、并集等。

  4. 讀取和寫入地理空間數據: GeoPandas 支持讀取和寫入多種地理空間數據格式,如 ESRI Shapefile、GeoJSON、GeoPackage 等,以及與其他 GIS 軟件兼容的格式。

  5. 地理空間操作函數: GeoPandas 結合了 Shapely 庫的功能,可以進行一系列的空間操作,包括距離計算、幾何對象的交叉判斷、幾何對象的緩沖區生成等。

  6. 地圖繪制和可視化: 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

  1. 打開命令提示符(Command Prompt)或 PowerShell。

  2. 執行以下命令安裝 GeoPandas 和 Jupyter Notebook:

pip install geopandas
pip install jupyterlab

步驟四:啟動 Jupyter Notebook

  1. 在命令提示符(Command Prompt)或 PowerShell 中,導航到您想要工作的目錄。

  2. 啟動 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')

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207930.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207930.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207930.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言實例:計算并輸出一個整數數組的平均值

大家好,今天給大家介紹一個c語言實例:計算并輸出一個整數數組的平均值,文章末尾附有分享大家一個資料包,差不多150多G。里面學習內容、面經、項目都比較新也比較全!可進群免費領取。 以下是一個使用C語言實現的實例&am…

Day18——JDK新特性

1.JDK8的新特性 1.1 Lambda表達式 1.1.1 舉例 public class LambdaTest {Testpublic void test1(){Runnable r1 new Runnable() {Overridepublic void run() {System.out.println("test1");}};r1.run();//Lambda表達式的寫法Runnable r2 () ->{System.out.pr…

怎么將用戶引流到你的私域中?

微信私域運營是一種利用微信平臺建立與用戶深度聯系的營銷方式,可在私域中觸達并服務用戶。 那么如何將在將用戶引流至你的私域中呢? 可以從以下幾個小方法入手。 ①打造一個吸引人的個人品牌形象非常重要。在社交媒體上展示真實、獨特、專業的一面&a…

喜訊!云起無垠上榜《成長型初創企業推薦10強》

近期,由中國計算機學會抗惡劣環境計算機專業委員會、信息產業信息安全測評中心和安全牛聯合發起的第十一版《中國網絡安全企業100強》榜單正式發布。在這份備受關注的榜單中,云起無垠憑借其創新的技術能力,榮登《成長型初創企業推薦10強》榜單…

網絡知識學習(筆記三)(傳輸層的TCP)

前面已經介紹了傳輸層的UDP協議的報文以及一下相關的知識點,本次主要是傳輸層的TCP協議,包括TCP報文的詳細介紹;可靠傳輸、流量控制、擁塞控制等;建立連接、釋放連接。 一、TCP基本知識點介紹 1.1、TCP協議的幾個重要的知識點 …

網安領域含金量最高的證書有哪些?看這1篇就足夠了!

文章目錄 一、前言二、CISP三、CISAW四、NISP五、為什么很多人考不下來 一、前言 現在想找網絡安全之類的工作,光有技術是不夠的,還得有東西證明自己,網安三大敲門磚:CTF、漏洞證明和專業證書。 對于CTF的話只是少數人能參加的&…

12月08日,每日信息差

以下是2023年12月08日的12條信息差 第一、英國大宗商品經紀商Marex準備在美國上市 第二、阿里云通義千問登頂HuggingFace排行榜。據了解,HuggingFace的開源大模型排行榜收錄了全球上百個開源大模型,測試維度涵蓋閱讀理解、邏輯推理、數學計算、事實問答…

Gateway:微服務架構中的關鍵組件

Gateway:微服務架構中的關鍵組件 在微服務架構的世界中,Gateway(網關)扮演著至關重要的角色。它不僅作為流量的入口,還提供路由、鑒權、監控等多種功能。本博客將詳細介紹Gateway的概念、功能以及如何在實際項目中使用…

數據庫基礎概念與范式反范式總結

文章目錄 一、基本概念1、屬性2、元組3、關系4、超鍵5、候選鍵6、主鍵7、主屬性8、外鍵9、函數依賴完全依賴 二、數據庫范式1、第一范式(1NF)2、第二范式(2NF)3、第三范式(3NF)4、巴斯-科德范式&#xff08…

uc_14_IP地址_套接字_字節序轉換

1 計算機網絡 計算機網絡,是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統、網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。 網絡協議是一種特…

C語言文本模式和二進制模式

前言 本篇文章介紹一下C語言的文本模式和二進制模式 文本文件和二進制文件 從宏觀上看,無論是文本文件還是二進制文件,文件中保存的都是0和1的序列,因為磁盤只有這兩種狀態。不同的文件只是對0、1序列的解釋不同,如果文件內容是…

AtCoder ABC周賽2023 11/4 (Sat) E題題解

目錄 原題截圖: 原題翻譯 題目大意: 主要思路: 代碼: 原題截圖: 原題翻譯 題目大意: 給你一個數組,給你一個公式,讓你選k個元素,用公式算出最終得分。 主要思路&am…

X86匯編語言:從實模式到保護模式(代碼+注釋)--c6

X86匯編語言:從實模式到保護模式(代碼注釋)–c6 標志寄存器FLAGS: 6th:ZF位(Zero Flag):零標志,執行算數或者邏輯運算之后,會將該位置位。10th:D…

安全運營 -- 100個藍隊溯源技巧(逐步更新)

0x00 背景 記錄一些常用的入侵排查命令和日常運維思路分享。(排名不分先后,逐步更新ing) 0x01 linux 查詢所有用戶計劃任務 cat /etc/passwd|cut -f 1 -d : |xargs -I {} crontab -l -u {} 0x02 排查linux記錄密碼后門 strace 監聽ssh來源流量記錄密碼后門(本機輸入的密碼記…

Shell數組函數:數組——數組和循環(三)

數組統計性別 一、定義性別文件 [root192 ~]# vim sex.txt jack m alice f tom m 二、定義腳本統計性別 [root192 ~]# vim sex.sh #!/bin/bash declare -A sex while read line dotypeecho $line | awk {print $2}let sex[$type] done < sex.txtfor i in ${!sex[]} doecho…

Linux基礎——進程初識(一)

1. 硬件 ①馮諾依曼體系 我們常見的計算機&#xff0c;如筆記本。我們不常見的計算機&#xff0c;如服務器&#xff0c;大部分都遵守馮諾依曼體系。其詳細結構如下圖所示 在這里有幾點要說明 1. 這里的儲存器實際上指的是內存 2. 輸入設備與輸出設備都屬于外設 常見的輸入設備…

實現SQL server數據庫完整性

1.創建一個數據庫名為“erp” 主數據文件&#xff1a;初始容量為5MB&#xff0c;最大容量為50MB&#xff0c;遞增量為1MB&#xff0c;其余參數自設。事務日志文件&#xff1a;初始容量為3MB&#xff0c;最大容量為20MB&#xff0c;遞增量為10%&#xff0c;其余參數自設。 創建…

與脾氣不太好的領導,相處原則和相處技巧分享

前言 工作上我看到有的人擅長和各種類型領導相處&#xff0c;而有的人則和領導相處不愉快&#xff0c;不懂靈活變通的人 和領導相處出現沖突時則是當面懟領導&#xff0c;不給領導面子&#xff0c;之后被領導打壓&#xff0c;甚至有的人和領導相處 不和離開等等&#xff0c;…

多個HTML屬性

在HTML中&#xff0c;屬性用于提供有關HTML元素的附加信息。在這篇文章中你將學習多個HTML屬性&#xff0c;它們可以增強網站的視覺吸引力。 接下來開始吧&#xff01;&#x1f680; Accept 屬性 您可以將accept屬性與<input>元素&#xff08;僅用于文件類型&#xff…

SPECPOWER2008

一、前言# 1、軟件說明# 官網&#xff1a;SERT套件用戶指南2.0.5SPECpower介紹SPEC基準及工具SPECpower_ssj2008測試結果SPECpower_ssj2008-Design_ccs - SPEC# SPEC&#xff08;the Standard Performance Evaluation Corporation&#xff09;是一個由計算機硬件廠商、軟件公…