Skip to main content

Openlayer-克里金插值渲染图-Kriging

克里金插值渲染图-Kriging

0.OpenLayers

OpenLayers是一个开源的Javascript库,用来在Web浏览器显示地图。它提供API接口创建类似于Google MapsBing Maps的基于web的地理应用。

1.克里金插值

克里金插值也称作空间局部插值法,或空间自协方差最佳插值法,它以变异函数理论和结构分析为基础, 在特定区域内对区域化变量进行无偏最优估计,被广泛应用于土壤制图领域,是一种非常重要的地统计学方法。
具体算法解释见xg1990的文章《克里金(Kriging)插值的原理与公式推导》(https://zhuanlan.zhihu.com/p/25377842)

2.算法实现

克里金插值算法有开源的实现,项目的GitHub地址:kriging.js(https://github.com/oeo4b/kriging.js)

这里重点介绍其中的三个函数:

  • kriging.train(t, x, y, model, sigma2, alpha):使用gaussianexponentialspherical模型对数据集进行训练,返回的是一个variogram对象;
  • kriging.grid(polygons,variogram,width);使用刚才的variogram对象使polygons描述的地理位置内的格网元素具备不一样的预测值;
  • kriging.plot(canvas,grid,xlim,ylim,colors);将得到的格网grid渲染至canvas上。

3.使用ImageCanvas

上面说到,使用kriging.plot可以将格网数据渲染至canvas上。但是要将canvas叠加到地图上,还是需要借助OpenLayers的ImageCanvas组件(https://openlayers.org/en/latest/apidoc/module-ol_source_ImageCanvas-ImageCanvasSource.html)。


效果预览

注册VIP

如果已经是VIP,请直接登陆 登陆

发表回复