中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何利用Geopandas算出每個省面積

發布時間:2022-03-04 10:28:40 來源:億速云 閱讀:249 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Python如何利用Geopandas算出每個省面積”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python如何利用Geopandas算出每個省面積”這篇文章吧

Python如何利用Geopandas算出每個省面積

GeoPandas是一個基于pandas,針對地理數據做了特別支持的第三方模塊。

它繼承pandas.Series和pandas.Dataframe,實現了GeoSeries和GeoDataFrame類,使得其操縱和分析平面幾何對象非常方便。

1.準備

開始之前,你要確保Python和pip已經成功安裝在電腦上。

請選擇以下任一種方式輸入命令安裝依賴:

1.Windows 環境 打開 Cmd (開始-運行-CMD)。

2.MacOS 環境 打開 Terminal (command+空格輸入Terminal)。

3.如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

由于geopandas涉及到許多第三方依賴,pip安裝起來非常麻煩。因此在本教程中,我只推薦使用conda安裝geopandas:

conda install geopandas

一行語句即可完成安裝。

2.基本使用

設定坐標繪制簡單的圖形:

import geopandas
from shapely.geometry import Polygon
p1 = Polygon([(0, 0), (1, 0), (1, 1)])
p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
p3 = Polygon([(2, 0), (3, 0), (3, 1), (2, 1)])
g = geopandas.GeoSeries([p1, p2, p3])

# g:
# result:
# 0 POLYGON ((0 0, 1 0, 1 1, 0 0))
# 1 POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))
# 2 POLYGON ((2 0, 3 0, 3 1, 2 1, 2 0))
# dtype: geometry

這些變量所形成的圖形如下:

Python如何利用Geopandas算出每個省面積

這里有一個重要且強大的用法,通過area屬性,geopandas能直接返回這些圖形的面積:

>>> print(g.area)
0    0.5
1    1.0
2    1.0
dtype: float64

不僅如此,通過plot屬性函數,你還可以直接生成matplotlib圖。

>>> g.plot()

通過matplot的pyplot,可以將圖片保存下來:

import matplotlib.pyplot as plt
g.plot()
plt.savefig("test.png")

學會上面的基本用法, 我們就可以進行簡單的地圖繪制及面積的計算了。

3.繪制并算出每個省的面積

此外,它最大的亮點是可以通過 Fiona(底層實現,用戶不需要管),讀取比如ESRI shapefile(一種用于存儲地理要素的幾何位置和屬性信息的非拓撲簡單格式)。

import geopandas
import matplotlib.pyplot as plt
from shapely.geometry import Polygon

maps = geopandas.read_file('1.shx')
# 讀取的數據格式類似于
# geometry
# 0 POLYGON ((1329152.341 5619034.278, 1323327.591...
# 1 POLYGON ((-2189253.375 4611401.367, -2202922.3...
# 2 POLYGON ((761692.092 4443124.843, 760999.873 4...
# 3 POLYGON ((-34477.046 4516813.963, -41105.128 4...
# ... ...
maps.plot()
plt.savefig("test.png")

如代碼所示,通過read_file你可以讀取shx、gpkg、geojson等數據。讀取出來的圖形如下:

Python如何利用Geopandas算出每個省面積

同樣,這個shapefile是省級行政區的,每一個省級行政區都被劃分為一個區塊,因此可以一行語句算出每個省級行政區所占面積:

print(maps.area)
# 0 4.156054e+11
# 1 1.528346e+12
# 2 1.487538e+11
# 3 4.781135e+10
# 4 1.189317e+12
# 5 1.468277e+11
# 6 1.597052e+11
# 7 9.770609e+10
# 8 1.385692e+11
# 9 1.846538e+11
# 10 1.015979e+11
# ... ...

以上是“Python如何利用Geopandas算出每個省面積”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

共和县| 绥江县| 泰安市| 红安县| 石城县| 陈巴尔虎旗| 依安县| 富宁县| 莱西市| 黄山市| 清远市| 三原县| 吉安县| 揭阳市| 德钦县| 景东| 扶余县| 黎城县| 莆田市| 玉山县| 大余县| 泰宁县| 建宁县| 望奎县| 抚松县| 台中县| 剑川县| 定陶县| 高安市| 大同县| 基隆市| 龙门县| 清水河县| 龙里县| 奉贤区| 辽宁省| 皋兰县| 蓬莱市| 墨竹工卡县| 祁东县| 麟游县|