python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索
python geopandas庫(kù)
今天給大家分享一個(gè)超強(qiáng)的 python 庫(kù),geopandas
https://github.com/geopandas/geopandas
geopandas 是一個(gè)用于地理數(shù)據(jù)的 python 庫(kù), 它基于 pandas 和 matplotlib 等其他流行的 Python 數(shù)據(jù)科學(xué)工具構(gòu)建,擴(kuò)展了數(shù)據(jù)操作功能。
這種無(wú)縫集成使精通 Python 的數(shù)據(jù)專業(yè)人員能夠輕松地深入研究 GeoPandas 語(yǔ)法以進(jìn)行空間數(shù)據(jù)探索和分析。
庫(kù)的安裝
我們可以直接使用 pip 來(lái)進(jìn)行安裝。
pip install geopandas
讀取和寫(xiě)入空間數(shù)據(jù)
為了讀取空間數(shù)據(jù),GeoPandas 提供了強(qiáng)大的 “read_file()” 函數(shù)。
該函數(shù)自動(dòng)處理各種基于矢量的空間數(shù)據(jù)格式。常見(jiàn)格式包括 Shapefiles 和 GeoJSON。
下面是使用 GeoPandas 讀取包含巴塞羅那各區(qū)地理空間數(shù)據(jù)的 GeoJSON 文件的示例。
import geopandas as gpd url = 'https://raw.githubusercontent.com/jcanalesluna/bcn-geodata/master/districtes/districtes.geojson' districts = gpd.read_file(url) districts
空間數(shù)據(jù)探索
GeoDataFrames 類似于傳統(tǒng)的 pandas 中的 DataFrame,提供了熟悉的結(jié)構(gòu),因?yàn)?GeoDataFrame 是 pandas.DataFrame 的子類,繼承了方法和屬性。
一個(gè)顯著特征是能夠存儲(chǔ)用于空間操作的幾何列 (GeoSeries)。
雖然一個(gè) GeoDataFrame 可以有多個(gè) GeoSeries,但其中一列充當(dāng)活動(dòng)幾何圖形,即空間操作的基礎(chǔ)。
GeoDataFrame 中的每個(gè) GeoSeries 都攜帶重要的坐標(biāo)參考系統(tǒng) (CRS) 信息。CRS 向 GeoPandas 通報(bào)地球上的坐標(biāo)位置,這對(duì)于準(zhǔn)確的空間分析至關(guān)重要。
有兩個(gè)主要的 CRS 類別:以度為單位的地理坐標(biāo),廣泛用于 GPS,以及二維地圖的投影坐標(biāo),允許方便的單位表示。
在 GeoPandas 中,CRS 信息是通過(guò) “crs” 屬性訪問(wèn)的。
districts.crs
空間數(shù)據(jù)屬性
GeoPandas 從 shapely 包中繼承了幾個(gè)有價(jià)值的方法和屬性。在這里,我們將探討四個(gè)關(guān)鍵屬性:
Area
“area” 屬性計(jì)算幾何圖形的面積。為了將此面積(轉(zhuǎn)換為 km²)添加到我們的數(shù)據(jù)集中,我們創(chuàng)建一個(gè)新列。
districts['area'] = districts.area / 1000000
Boundary
“boundary” 屬性捕獲多邊形的邊界。我們將此信息合并到我們的數(shù)據(jù)集中。
districts['boundary'] = districts.boundary
Distance
利用 “distance” 方法,我們計(jì)算了從著名的圣家族教堂到巴塞羅那每個(gè)區(qū)的質(zhì)心的最小距離。
然后,距離(以公里為單位)存儲(chǔ)在新列中。
from shapely.geometry import Point sagrada_fam = Point(2.1743680500855005, 41.403656946781304) sagrada_fam = gpd.GeoSeries(sagrada_fam, crs=4326).to_crs(epsg=2062) districts['sagrada_fam_dist'] = [float(sagrada_fam.distance(centroid)) / 1000 for centroid in districts.centroid] districts[['area', 'boundary', 'sagrada_fam_dist']]
使用 GeoPandas 繪圖
使用 GeoPandas 可視化空間數(shù)據(jù)可以增強(qiáng)從空間操作中獲得的見(jiàn)解。
通過(guò)調(diào)用基于 matplotlib 包構(gòu)建的 GeoDataFrame.plot() 函數(shù),可以輕松創(chuàng)建 GeoPandas 繪圖。
巴塞羅那地區(qū)的基本可視化。
ax= districts.plot(figsize=(10,6))
要添加更多信息,請(qǐng)為每個(gè)區(qū)域著色并添加圖例。
ax= districts.plot(column='DISTRICTE', figsize=(10,6), edgecolor='black', legend=True)
最后,我們可以將各區(qū)和圣家族教堂的質(zhì)心以及標(biāo)題添加到我們的地圖中。
同樣,為了使生成的圖像更加引人注目,我們可以使用 Nice contextily 包添加巴塞羅那實(shí)際城市的平鋪地圖。
ax= districts.plot(column='DISTRICTE', figsize=(10,6), alpha=0.5, edgecolor='black', legend=False) contextily.add_basemap(ax, crs=districts.crs.to_string())
以上就是python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索的詳細(xì)內(nèi)容,更多關(guān)于python geopandas庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python?ORM數(shù)據(jù)庫(kù)框架Sqlalchemy的使用教程詳解
對(duì)象關(guān)系映射(Object?Relational?Mapping,簡(jiǎn)稱ORM)模式是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫(kù)存在的互不匹配的現(xiàn)象的技術(shù)。本文主要介紹了其使用的相關(guān)資料,感興趣的小伙伴可以學(xué)習(xí)一下2022-10-10基于python實(shí)現(xiàn)動(dòng)態(tài)煙霧效果
動(dòng)態(tài)煙霧效果常用于游戲和動(dòng)畫(huà)中,為場(chǎng)景增添 逼真的視覺(jué)效果,在這篇博客中,我們將使用Python和Pygame庫(kù)來(lái)創(chuàng)建一個(gè)逼真的煙霧動(dòng)畫(huà)效果,感興趣的小伙伴跟著小編一起來(lái)看看吧2024-09-09Python調(diào)用GPT3.5接口的最新方法實(shí)例詳解
這篇文章主要介紹了Python調(diào)用GPT3.5接口的最新方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03pycharm 使用心得(五)斷點(diǎn)調(diào)試
PyCharm 作為IDE,斷點(diǎn)調(diào)試是必須有的功能。否則,我們還真不如用純編輯器寫(xiě)的快。2014-06-06基于python元祖與字典與集合的粗淺認(rèn)識(shí)
下面小編就為大家?guī)?lái)一篇基于python元祖與字典與集合的粗淺認(rèn)識(shí)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08python+html實(shí)現(xiàn)免費(fèi)在線行為驗(yàn)證保護(hù)賬號(hào)安全
這篇文章主要為大家介紹了python+html免費(fèi)在線行為驗(yàn)證保護(hù)賬號(hào)安全實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09pycharm無(wú)法安裝第三方庫(kù)的問(wèn)題及解決方法以scrapy為例(圖解)
這篇文章主要介紹了pycharm無(wú)法安裝第三方庫(kù)的解決辦法以scrapy為例,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05