基本信息
源码名称:leaflet克里金空间插值
源码大小:0.02M
文件格式:.zip
开发语言:js
更新时间:2022-01-20
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元×
微信扫码支付:3 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
leaflet克里金空间插值
.
├── kriging.js
├── lealfet-kriging.html
├── point.js
├── world.js
└── 好例子网_leaflet_kriging.zip
0 directories, 5 files
leaflet克里金空间插值
//world.js,是插值之后需要裁切的图形边界信息 | |
//point.js,是要插值的离散的点 | |
//遍历world边界数据,生成scope边界线 | |
var positions = []; | |
world[0].forEach(function (point) { | |
positions.push([point[1], point[0]]); | |
}); | |
var scope = L.polyline(positions, {color: 'red'}).addTo(map); | |
map.fitBounds(scope.getBounds()); | |
//根据scope边界线的范围,计算范围变量 | |
var xlim =[scope.getBounds()._southWest.lng,scope.getBounds()._northEast.lng]; | |
var ylim =[scope.getBounds()._southWest.lat,scope.getBounds()._northEast.lat]; | |
//进行克里金插值 | |
function loadkriging() | |
{ | |
var canvas = document.getElementById("canvasMap"); | |
canvas.width = 1000; | |
canvas.height = 1000; | |
var n = points.length; | |
var t = [];//数值 | |
var x = [];//经度 | |
var y = [];//纬度 | |
for (var i = 0; i < n; i ) | |
{ | |
t.push(points[i].attributes.TN_); | |
x.push(points[i].geometry.x); | |
y.push(points[i].geometry.y); | |
L.circle([y[i], x[i]], {radius: 1}).addTo(map); | |
} | |
//对数据集进行训练 | |
var variogram = kriging.train(t, x, y, "exponential", 0, 100); | |
//使用variogram对象使polygons描述的地理位置内的格网元素具备不一样的预测值,最后一个参数,是插值格点精度大小 | |
var grid = kriging.grid(world, variogram, (ylim[1]-ylim[0])/150); | |
var colors = ["#006837", "#1a9850", "#66bd63", "#a6d96a", "#d9ef8b", "#ffffbf", "#fee08b", "#fdae61", "#f46d43", "#d73027", "#a50026"]; | |
//将得到的格网grid渲染至canvas上 | |
kriging.plot(canvas, grid, [xlim[0], xlim[1]], [ylim[0], ylim[1]], colors); | |
} |
├── kriging.js
├── lealfet-kriging.html
├── point.js
├── world.js
└── 好例子网_leaflet_kriging.zip
0 directories, 5 files