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

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

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

python geopandas庫

今天給大家分享一個超強的 python 庫,geopandas

https://github.com/geopandas/geopandas 

geopandas 是一個用于地理數(shù)據(jù)的 python 庫, 它基于 pandas 和 matplotlib 等其他流行的 Python 數(shù)據(jù)科學工具構建,擴展了數(shù)據(jù)操作功能。

這種無縫集成使精通 Python 的數(shù)據(jù)專業(yè)人員能夠輕松地深入研究 GeoPandas 語法以進行空間數(shù)據(jù)探索和分析。

庫的安裝

我們可以直接使用 pip 來進行安裝。

pip install geopandas

讀取和寫入空間數(shù)據(jù)

為了讀取空間數(shù)據(jù),GeoPandas 提供了強大的 “read_file()” 函數(shù)。

該函數(shù)自動處理各種基于矢量的空間數(shù)據(jù)格式。常見格式包括 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,提供了熟悉的結構,因為 GeoDataFrame 是 pandas.DataFrame 的子類,繼承了方法和屬性。

一個顯著特征是能夠存儲用于空間操作的幾何列 (GeoSeries)。

雖然一個 GeoDataFrame 可以有多個 GeoSeries,但其中一列充當活動幾何圖形,即空間操作的基礎。

GeoDataFrame 中的每個 GeoSeries 都攜帶重要的坐標參考系統(tǒng) (CRS) 信息。CRS 向 GeoPandas 通報地球上的坐標位置,這對于準確的空間分析至關重要。

有兩個主要的 CRS 類別:以度為單位的地理坐標,廣泛用于 GPS,以及二維地圖的投影坐標,允許方便的單位表示。

在 GeoPandas 中,CRS 信息是通過 “crs” 屬性訪問的。

districts.crs

空間數(shù)據(jù)屬性

GeoPandas 從 shapely 包中繼承了幾個有價值的方法和屬性。在這里,我們將探討四個關鍵屬性:

Area

“area” 屬性計算幾何圖形的面積。為了將此面積(轉(zhuǎn)換為 km²)添加到我們的數(shù)據(jù)集中,我們創(chuàng)建一個新列。

districts['area'] = districts.area / 1000000

Boundary

“boundary” 屬性捕獲多邊形的邊界。我們將此信息合并到我們的數(shù)據(jù)集中。

districts['boundary'] = districts.boundary

Distance

利用 “distance” 方法,我們計算了從著名的圣家族教堂到巴塞羅那每個區(qū)的質(zhì)心的最小距離。

然后,距離(以公里為單位)存儲在新列中。

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ù)可以增強從空間操作中獲得的見解。

通過調(diào)用基于 matplotlib 包構建的 GeoDataFrame.plot() 函數(shù),可以輕松創(chuàng)建 GeoPandas 繪圖。

巴塞羅那地區(qū)的基本可視化。

ax= districts.plot(figsize=(10,6))

要添加更多信息,請為每個區(qū)域著色并添加圖例。

ax= districts.plot(column='DISTRICTE', figsize=(10,6), edgecolor='black', legend=True)

最后,我們可以將各區(qū)和圣家族教堂的質(zhì)心以及標題添加到我們的地圖中。

同樣,為了使生成的圖像更加引人注目,我們可以使用 Nice contextily 包添加巴塞羅那實際城市的平鋪地圖。

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庫geopandas讀取寫入空間數(shù)據(jù)及繪圖實例探索的詳細內(nèi)容,更多關于python geopandas庫的資料請關注腳本之家其它相關文章!

相關文章

最新評論