基於python的站點數據Kriging插值繪圖
前言
科研中常常會將站點數據進行插值,繪制成圖。常用的二維插值方法有最近鄰法、線性內插法、三次樣條內插法,此外還有一些基於地理的插值方法,如克里金插值法、IDW反距離加權法。今天我們就克里金插值法介紹一下使用python進行站點數據插值繪圖的方法。
模塊介紹
- 繪圖模塊
cartopy
、shpfile
、matplotlib
- 插值模塊:
- 對於簡單的二維插值方法(最近鄰法、線性內插法、三次樣條內插法),可以用scipy.interpolate中的griddata方法實現。
scipy.interpolate.griddata(points, values, xi, method='linear')
- 對於克里金/IDW插值方法,可以自行編寫計算函數,也可以調用現成的模塊,如pykrige。
- 對於簡單的二維插值方法(最近鄰法、線性內插法、三次樣條內插法),可以用scipy.interpolate中的griddata方法實現。
核心代碼
-
指北針的添加
導入
import matplotlib.patches as mpatches # 比例尺
-
掩膜提取
-
加載地圖、矢量數據
-
kriging插值
-
其他(colorbar/contour/刻度標簽...)
繪圖
總結
-
繪圖用cartopy,插值用scipy/pykrige,掩膜用shp2clip。
-
站點插值繪圖與利用tiff繪圖稍有不同,主要就區別在插值這塊,tiff繪圖是直接讀取tiif邊界坐標,插值成xsize/ysize個點位。
-
常用shp需要收集,如中國城市、全國國家矢量數據...