最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

python geopandas庫

今天給大家分享一個超強(qiáng)的 python 庫,geopandas

https://github.com/geopandas/geopandas 

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

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

庫的安裝

我們可以直接使用 pip 來進(jìn)行安裝。

pip install geopandas

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

為了讀取空間數(shù)據(jù),GeoPandas 提供了強(qiáng)大的 “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,提供了熟悉的結(jié)構(gòu),因為 GeoDataFrame 是 pandas.DataFrame 的子類,繼承了方法和屬性。

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

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

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

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

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

districts.crs

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

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

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

通過調(diào)用基于 matplotlib 包構(gòu)建的 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ì)心以及標(biāo)題添加到我們的地圖中。

同樣,為了使生成的圖像更加引人注目,我們可以使用 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ù)及繪圖實例探索的詳細(xì)內(nèi)容,更多關(guān)于python geopandas庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

桂东县| 青海省| 巴楚县| 察隅县| 奉贤区| 都安| 铜梁县| 常德市| 吉林市| 碌曲县| 阿克| 漯河市| 栾川县| 屏边| 林州市| 勃利县| 宾阳县| 东丰县| 合山市| 灯塔市| 贵州省| 平山县| 桐乡市| 麻江县| 翁牛特旗| 白沙| 建瓯市| 稻城县| 德令哈市| 饶河县| 平阴县| 衡阳市| 达孜县| 泾源县| 山丹县| 临泽县| 波密县| 丹棱县| 丰台区| 德化县| 德清县|