1.0.5 • Published 4 years ago

kriging-contour v1.0.5

Weekly downloads
1
License
BSD-3-Clause
Repository
github
Last release
4 years ago

kriging-contour

基于克里金插值算法,根据离散点位置及其权重,生成等值面矢量数据(GeoJSON格式)和栅格数据(Canvas绘制图片),这些数据在任何WebGIS客户端上都可通用展示。

兼容性

该库生成结果是geojson和canvas上绘制两种形式,这种通用结果可以在ol,mapbox,leaflet,arcgis api等各种前端api上直接展示,具有跨库的通用性。

安装

源码下载并编译:

# 下载源码安装依赖
git clone git@github.com:FreeGIS/kriging-contour.git
cd kriging-contour
npm install
# 编译
npm run build

npm安装

npm install kriging-contour --save

使用说明

矢量等值面

kriging-contour.getVectorContour(dataset,weight_field,kriging_params,weight_breaks);

dataset:geojson格式的featureclass数据集,feature是图形是点,必填
weight_field:绑定权重字段名称,必填
kriging_params:克里金插值参数,必填
weight_breaks:权重生成等值面分级数组,必填

​ 示例代码:

	//计算克里金等值面
		let kriging_contours=kriging.getVectorContourr(dataset,'level',{
			model:'exponential',
			sigma2:0,
			alpha:100
		},[0,10,20,30,40,50,60,70,80,90,100]);

图片等值面

kriging-contour.drawCanvasContour(dataset,weight_field,kriging_params,weight_breaks);

dataset:geojson格式的featureclass数据集,feature是图形是点,必填
weight_field:绑定权重字段名称,必填
kriging_params:克里金插值参数,必填
canvas:渲染的canvas对象,必填
xlim:当前视图窗口(extent)的x轴跨度。
ylim:当前视图窗口(extent)的y轴跨度。
colors:渲染颜色分级。

示例代码:

	//计算克里金等值面
		kriging.drawCanvasContour(dataset,'level',{
			model:'exponential',
			sigma2:0,
			alpha:100
		},canvas,[extent[0],extent[2]],[extent[1],extent[3]],params.colors);

kriging是基于oeo4b的kriging.js修改的,原kriging.js编码不够规范,且仅仅支持将插值结果渲染到canvas形成等值面,这种图片形式的等值面锯齿比较严重。

本次修改修复部分编码不可读部分,且重新实现生成基于矢量的插值等值面,渲染效果较好。

kriging图片渲染效果: kriging图片渲染效果 kriging矢量渲染效果: kriging矢量渲染效果

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago