kriging插值在web端的应用含kriging.js下载地址
1.在項目的過程中往往由于用戶提供(或自己搜集)的原始數據數據量不夠,作出的一些曲線效果或者gis效果達不到效果,此時需要使用插值的方式完善數據,提升效果
本文主要講述web端克里金插值的使用步驟
?
kriging.js 是一個Javascript庫,它通過kriging算法提供空間預測和映射能力。
?
github地址:https://github.com/oeo4b/kriging.js
?
1.將坐標和目標變量指定給 3個獨立數組
var t = [ /* Target variable */ ];
var x = [ /* X-axis coordinates */ ];
var y = [ /* Y-axis coordinates */ ];
var model = "exponential";
var sigma2 = 0, alpha = 100;
var variogram = kriging.train(t, x, y, model, sigma2, alpha);
?
注:
t數組為某一平面坐標點的值,如某一點的鉆孔深度,或者某一點的溫度值,組成的值數組
x為原始數據點的x坐標的值組成的數組
y為原始數據點的y坐標的值組成的數組
?
如原始數據有ABCD四個點
pointA={
height:aHeight,
x:a_positionx,
y:a_positiony
};
pointB={
height:bHeight,
x:b_positionx,
y:b_positiony
};
pointC={
height:cHeight,
x:c_positionx,
y:c_positiony
};
pointD={
height:dHeight,
x:d_positionx
y:d_positiony
};
則:
t=[aHeight,bHeight,cHeight,dHeight];
x=[a_positionx,b_positionx,c_positionx,d_positionx];
y=[a_positiony,b_positiony,c_positiony,d_positiony];
?
2.預測新值
a.預測新的坐標點p=(xnew,ynew)的新的值(如高度,溫度等)
?var xnew, ynew /* Pair of new coordinates to predict */;
?var tpredicted = kriging.predict(xnew, ynew, variogram);
b.使用一個邊界區域按間距生成grid格網數據數組
var grid=kriging.grid(polygons,variogram,width);
注:polygons為區域的坐標數組,可以為多個polygon,variogram為第一步train產生的結果,width為生成grid格網的間距
var polygons =[
?? ?[
?? ??? ?[
?? ??? ??? ?103.13092800000004,
?? ??? ??? ?29.022763000000054
?? ??? ?],
?? ??? ?[
?? ??? ??? ?103.11851800000005,
?? ??? ??? ?28.966904000000056
?? ??? ?],
?? ??? ?[
?? ??? ??? ?103.10646800000006,
?? ??? ??? ?28.953798000000063
?? ??? ?],
?? ??? ?[
?? ??? ??? ?103.08176800000007,
?? ??? ??? ?28.958551000000057
?? ??? ?],
?? ??? ?[
?? ??? ??? ?104.07084300000008,
?? ??? ??? ?28.941115000000025
?? ??? ?],
?? ??? ?[
?? ??? ??? ?103.13092800000004,
?? ??? ??? ?29.022763000000054
?? ??? ?]
?? ?]
];
3.拿到擬合后的數據重新生成gis效果或者曲線效果
總結
以上是生活随笔為你收集整理的kriging插值在web端的应用含kriging.js下载地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 守夜的柠檬
- 下一篇: 基于LiFi可见光通信技术的研究及应用转