欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索

 更新時(shí)間:2024年02月01日 10:02:53   作者:小寒聊python  
這篇文章主要為大家介紹了python庫(kù)geopandas讀取寫(xiě)入空間數(shù)據(jù)及繪圖實(shí)例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>

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)文章

最新評(píng)論