基于python的站点数据Kriging插值绘图
基于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需要收集,如中国城市、全国国家矢量数据...