Class: InterpolationKrigingAnalystParameters

InterpolationKrigingAnalystParameters

克吕金插值分析参数类。通过该类可以设置克吕金插值分析所需的参数。 克吕金(Kriging)法为地统计学上一种空间数据内插处理方法,主要的目的是利用各数据点间变异数(variance)的大小来推求某一未知点与各已知点的权重关系, 再由各数据点的值和其与未知点的权重关系推求未知点的值。Kriging 法最大的特色不仅是提供一个最小估计误差的预测值,并且可明确地指出误差值的大小。 一般而言,许多地质参数,如地形面,本身即具有连续性,故在一段距离内的任两点必有空间上的关系。反之,在一不规则面上的两点若相距甚远, 则在统计意义上可视为互为独立 (stastically indepedent)。这种随距离而改变的空间上连续性,可用半变异图 (semivariogram) 来表现。 因此,若想由已知的散乱点来推求某一未知点的值,则可利用半变异图推求各已知点与未知点的空间关系,即以下四个参数:
1.块金值(nugget):当采样点间距为 0 时,理论上半变异函数值为 0,但时间上两采样点非常接近时半变异函数值并不为 0,即产生了块金效应, 对应的半变异函数值为块金值。块金值可能由于测量误差或者空间变异产生。
2.基台值(sill):随着采样点间距的不断增大,半变异函数的值趋向一个稳定的常数,该常数成为基台值。到达基台值后,半变异函数的值不再随采样点间距而改变, 即大于此间距的采样点不再具有空间相关性。
3.偏基台值:基台值与块金值的差值。
4.自相关阈值(range):也称变程,是半变异函数值达到基台值时,采样点的间距。超过自相关阈值的采样点不再具有空间相关性,将不对预测结果产生影响。
然后,由此空间参数推求半变异数,由各数据点间的半变异数可推求未知点与已知点间的权重关系,进而推求出未知点的值。 克吕金法的优点是以空间统计学作为其坚实的理论基础,物理含义明确;不但能估计测定参数的空间变异分布,而且还可以估算参数的方差分布。克吕金法的缺点是计算步骤较烦琐, 计算量大,且变异函数有时需要根据经验人为选定。

由上述可知,半变异函数是克吕金插值的关键,因此选择合适的半变异函数模型非常重要,SuperMap 提供了以下三种半变异函数模型:
1.指数型(EXPONENTIAL):适用于空间相关关系随样本间距的增加呈指数递减的情况,其空间自相关关系在样本间距的无穷远处完全消失。
2.球型(SPHERICAL):适用于空间自相关关系随样本间距的增加而逐渐减少,直到超出一定的距离时空间自相关关系消失的情况。
3.高斯型(GAUSSIAN):适用于半变异函数值渐进地逼近基台值的情况。

半变异函数中,有一个关键参数即插值的字段值的期望(平均值),由于对于此参数的不同处理方法而衍生出了不同的 Kriging 方法。SuperMap 的插值功能基于以下三种常用 Kriging 算法:
1.简单克吕金(Simple Kriging):该方法假定用于插值的字段值的期望(平均值)为已知的某一常数。
2.普通克吕金(Kriging):该方法假定用于插值的字段值的期望(平均值)未知且恒定。它利用一定的数学函数,通过对给定的空间点进行拟合来估算单元格的值, 生成格网数据集。它不仅可以生成一个表面,还可以给出预测结果的精度或者确定性的度量。因此,此方法计算精度较高,常用于地学领域。
3.泛克吕金(Universal Kriging):该方法假定用于插值的字段值的期望(平均值)是未知的变量。在样点数据中存在某种主导趋势且该趋势可以通过某一个确定 的函数或者多项式进行拟合的情况下,适用泛克吕金插值法。

new InterpolationKrigingAnalystParameters(options)

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/openlayers/iclient-ol.js"></script>
<script>
  new ol.supermap.InterpolationKrigingAnalystParameters(options);
  
  // 弃用的写法
  new SuperMap.InterpolationKrigingAnalystParameters(options);

</script>

// ES6 Import
import { InterpolationKrigingAnalystParameters } from '@supermapgis/iclient-ol';

new InterpolationKrigingAnalystParameters(options);

common/iServer/InterpolationKrigingAnalystParameters.js, line 9
Name Type Description
options Object

参数。

Name Type Default Description
type string

克吕金插值的类型。

bounds SuperMap.Bounds | L.Bounds | L.LatLngBounds | ol.extent | mapboxgl.LngLatBounds | GeoJSONObject

插值分析的范围,用于确定结果栅格数据集的范围。

searchMode SearchMode

插值运算时,查找参与运算点的方式,有固定点数查找、定长查找、块查找。

outputDatasetName string

插值分析结果数据集的名称。

outputDatasourceName string

插值分析结果数据源的名称。

zValueFieldName string 可选

存储用于进行插值分析的字段名称,插值分析不支持文本类型的字段。当插值分析类型(InterpolationAnalystParameters.prototype.InterpolationAnalystType)为 dataset 时,此为必设参数。

mean number 可选

【简单克吕金】类型下,插值字段的平均值。

angle number 0 可选

克吕金算法中旋转角度值。

nugget number 0 可选

克吕金算法中块金效应值。

range number 0 可选

克吕金算法中自相关阈值,单位与原数据集单位相同。

sill number 0 可选

克吕金算法中基台值。

variogramMode VariogramMode "SPHERICAL" 可选

克吕金插值时的半变异函数类型。

exponent Exponent 'exp1' 可选

【泛克吕金】类型下,用于插值的样点数据中趋势面方程的阶数,可选值为 exp1、exp2。

expectedCount number 12 可选

【固定点数查找】方式下,设置待查找的点数;【定长查找】方式下,设置查找的最小点数。

searchRadius number 0 可选

【定长查找】方式下,设置参与运算点的查找范围。

maxPointCountForInterpolation number 200 可选

【块查找】方式下,设置最多参与插值的点数。

maxPointCountInNode number 50 可选

【块查找】方式下,设置单个块内最多参与运算点数。

zValueScale number 1 可选

用于进行插值分析值的缩放比率。

resolution number 可选

插值结果栅格数据集的分辨率,即一个像元所代表的实地距离,与点数据集单位相同。

filterQueryParameter FilterParameter 可选

属性过滤条件。

pixelFormat PixelFormat 可选

指定结果栅格数据集存储的像素格式。

dataset string 可选

用于做插值分析的数据源中数据集的名称。该名称用形如 “数据集名称@数据源别名” 形式来表示。当插值分析类型(InterpolationAnalystParameters.prototype.InterpolationAnalystType)为 dataset 时。

inputPoints Array.<(GeometryPoint|L.LatLng|L.Point|ol.geom.Point|mapboxgl.LngLat|Array.<number>)> 可选

用于做插值分析的离散点集合。当插值分析类型(InterpolationAnalystParameters.prototype.InterpolationAnalystType)为 geometry 时。

Example
例如:
var myInterpolationKrigingAnalystParameters = new InterpolationKrigingAnalystParameters({
    dataset:"SamplesP@Interpolation",
    type: "KRIGING",
    angle: 0,
    mean: 5,
    nugget: 30,
    range: 50,
    sill: 300,
    variogramMode: "EXPONENTIAL",
    searchMode: "QUADTREE",
    maxPointCountForInterpolation: 20,
    maxPointCountInNode: 5,
    pixelFormat: "BIT16",
    zValueFieldName: "AVG_TMP",
    resolution: 30000,
    filterQueryParameter: {
        attributeFilter: ""
    },
    outputDatasetName: "myKriging"
});

Extends

Members

anglenumber

克吕金算法中旋转角度值。 此角度值指示了每个查找邻域相对于水平方向逆时针旋转的角度。

插值分析的范围,用于确定结果栅格数据集的范围。 如果缺省,则默认为原数据集的范围。鉴于此插值方法为内插方法,原数据集的范围内的插值结果才相对有参考价值, 因此建议此参数不大于原数据集范围。

clipParamClipParameter

对插值分析结果进行裁剪的参数。

datasetstring

用来做插值分析的数据源中数据集的名称,该名称用形如 "数据集名称@数据源别名" 形式来表示。 当插值分析类型(InterpolationAnalystType)为 dataset 时,此为必设参数。

expectedCountnumber

【固定点数查找】方式下,设置待查找的点数,即参与插值运算的点数,默认值为 12。 【定长查找】方式下,设置查找的最小点数,默认值为 12。

Default Value:
12

exponentExponent

【泛克吕金】类型下,用于插值的样点数据中趋势面方程的阶数。

Default Value:
Exponent.EXP1

filterQueryParameterFilterParameter

过滤条件,对分析数据集中的点进行过滤,设置为 null 表示对数据集中的所有点进行分析。

inputPointsArray.<(GeometryPoint|L.LatLng|L.Point|ol.geom.Point|mapboxgl.LngLat|Array.<number>)>

用于做插值分析的离散点(离散点包括 Z 值)集合。 当插值分析类型(InterpolationAnalystType)为 geometry 时,此为必设参数。 通过离散点直接进行插值分析不需要指定输入数据集 inputDatasourceName,inputDatasetName 以及 zValueFieldName。

InterpolationAnalystTypestring

插值分析类型。插值分析包括数据集插值分析和几何插值分析两类, "dataset" 表示对数据集进行插值分析,"geometry" 表示对离散点数组进行插值分析。

Default Value:
"dataset"

maxPointCountForInterpolationnumber

【块查找】方式下,最多参与插值的点数。 仅用于普通克吕金插值,简单克吕金和泛克吕金不支持块查找。

Default Value:
200

maxPointCountInNodenumber

【块查找】方式下,设置单个块内最多参与运算点数。 仅用于普通克吕金插值,简单克吕金和泛克吕金不支持块查找。

Default Value:
50

meannumber

【简单克吕金】方式下,插值字段的平均值。 即采样点插值字段值总和除以采样点数目。

nuggetnumber

克吕金算法中块金效应值。

outputDatasetNamestring

插值分析结果数据集的名称。

outputDatasourceNamestring

插值分析结果数据源的名称。

pixelFormatPixelFormat

指定结果栅格数据集存储的像素格式。支持存储的像素格式有 BIT16、BIT32、DOUBLE、SINGLE、UBIT1、UBIT4、UBIT8、UBIT24、UBIT32。

rangenumber

克吕金算法中自相关阈值,单位与原数据集单位相同。

resolutionnumber

插值结果栅格数据集的分辨率,即一个像元所代表的实地距离,与点数据集单位相同。 该值不能超过待分析数据集的范围边长。 且该值设置时,应该考虑点数据集范围大小来取值,一般为结果栅格行列值(即结果栅格数据集范围除以分辨率),在 500 以内可以较好地体现密度走势。

searchModeSearchMode

插值运算时,查找参与运算点的方式,有固定点数查找、定长查找、块查找。此为必设参数。 简单克吕金和泛克吕金不支持块查找。 具体如下:
{KDTREE_FIXED_COUNT} 使用 KDTREE 的固定点数方式查找参与内插分析的点。
{KDTREE_FIXED_RADIUS} 使用 KDTREE 的定长方式查找参与内插分析的点。
{QUADTREE} 使用 QUADTREE 方式查找参与内插分析的点(块查找)。

searchRadiusnumber

查找半径,即参与运算点的查找范围,与点数据集单位相同。 计算某个位置的 Z 值时,会以该位置为圆心,以查找范围的值为半径,落在这个范围内的采样点都将参与运算。 该值需要根据待插值点数据的分布状况和点数据集范围进行设置。

sillnumber

克吕金算法中基台值。

克吕金插值的类型。 具体如下:
{KRIGING} 普通克吕金插值法。 {SimpleKriging} 简单克吕金插值法。 {UniversalKriging} 泛克吕金插值法。

variogramModeVariogramMode

克吕金插值时的半变异函数类型。 用户所选择的半变异函数类型会影响未知点的预测,特别是曲线在原点处的不同形状有重要意义。 曲线在原点处越陡,则较近领域对该预测值的影响就越大,因此输出表面就会越不光滑。

Default Value:
VariogramMode.SPHERICAL

zValueFieldNamestring

数据集插值分析中,用于指定进行插值分析的目标字段名,插值分析不支持文本类型的字段。 含义为每个插值点在插值过程中的权重,可以将所有点此字段值设置为 1,即所有点在整体插值中权重相同。 当插值分析类型(InterpolationAnalystType)为 dataset 时,此为必设参数。

zValueScalenumber

用于进行插值分析值的缩放比率。 参加插值分析的值将乘以该参数值后再进行插值,也就是对进行插值分析的值进行统一的扩大或缩小。

Default Value:
1

Methods

destroy()

common/iServer/InterpolationKrigingAnalystParameters.js, line 185

释放资源,将引用资源的属性置空。