kriging-contour
Version:
基于克里金插值算法,根据离散点位置及其权重,生成等值面矢量数据(GeoJSON格式)和栅格数据(Canvas绘制图片),这些数据在任何WebGIS客户端上都可通用展示。
74 lines (62 loc) • 2.63 kB
Markdown
# 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](https://github.com/oeo4b/kriging.js)修改的,原kriging.js编码不够规范,且仅仅支持将插值结果渲染到canvas形成等值面,这种图片形式的等值面锯齿比较严重。
本次修改修复部分编码不可读部分,且重新实现生成基于矢量的插值等值面,渲染效果较好。
kriging图片渲染效果:

kriging矢量渲染效果:
