Class: InterpolationKrigingAnalystParameters

InterpolationKrigingAnalystParameters

克吕金插值分析参数类。

new SuperMap.InterpolationKrigingAnalystParameters(options)

common/iServer/InterpolationKrigingAnalystParameters.js, line 5

通过该类可以设置克吕金插值分析所需的参数。 克吕金(Kriging)法为地统计学上一种空间数据内插处理方法,主要的目的是利用各数据点间变异数(variance)的大小来推求某一未知点与各已知点的权重关系, 再由各数据点的值和其与未知点的权重关系推求未知点的值。Kriging 法最大的特色不仅是提供一个最小估计误差的预测值,并且可明确的指出误差值的大小。 一般而言,许多地质参数,如地形面,本身即具有连续性,故在一段距离内的任两点必有空间上的关系。反之,在一不规则面上的两点若相距甚远, 则在统计意义上可视为互为独立 (stastically indepedent)。这种随距离而改变的空间上连续性,可用半变异图 (semivariogram) 来表现。 因此,若想由已知的散乱点来推求某一未知点的值,则可利用半变异图推求各已知点与未知点的空间关系,即以下四个参数。 然后,由此空间参数推求半变异数,由各数据点间的半变异数可推求未知点与已知点间的权重关系,进而推求出未知点的值。

· 块金值(nugget):当采样点间距为0时,理论上半变异函数值为0,但时间上两采样点非常接近时半变异函数值并不为0,即产生了上图所示的块金效应, 对应的半变异函数值为块金值。块金值可能由于测量误差或者空间变异产生。

· 基台值(sill):随着采样点间距的不断增大,半变异函数的值趋向一个稳定的常数,该常数成为基台值。到达基台值后,半变异函数的值不再随采样点间距而改变, 即大于此间距的采样点不再具有空间相关性。

· 偏基台值:基台值与块金值的差值。

· 自相关阈值(range):也称变程,是半变异函数值达到基台值时,采样点的间距。超过自相关阈值的采样点不再具有空间相关性,将不对预测结果产生影响。

由上述可知,半变异函数是克吕金插值的关键,因此选择合适的半变异函数模型非常重要,SuperMap提供了以下三种半变异函数模型:

· 指数型(EXPONENTIAL):适用于空间相关关系随样本间距的增加成指数递减的情况,其空间自相关关系在样本间距的无穷远处完全消失。

· 球型(SPHERICAL):适用于空间自相关关系随样本间距的增加而逐渐减少,直到超出一定的距离时空间自相关关系消失的情况。

· 高斯型(GAUSSIAN):适用于半变异函数值渐进地逼近基台值的情况。

半变异函数中,有一个关键参数即插值的字段值的期望(平均值),由于对于此参数的不同处理方法而衍生出了不同的Kriging方法。SuperMap的差值功能基于以下三种常用Kriging算法:

1. 简单克吕金(Simple Kriging):该方法假定用于插值的字段值的期望(平均值)已知的某一常数。

2. 普通克吕金(Kriging):该方法假定用于插值的字段值的期望(平均值)未知且恒定。它利用一定的数学函数,通过对给定的空间点进行拟合来估算单元格的值, 生成格网数据集。它不仅可以生成一个表面,还可以给出预测结果的精度或者确定性的度量。因此,此方法计算精度较高,常用于地学领域。

3. 泛克吕金(Universal Kriging):该方法假定用于插值的字段值的期望(平均值)是未知的变量。在样点数据中存在某种主导趋势且该趋势可以通过某一个确定 的函数或者多项式进行拟合的情况下,适用泛克吕金插值法。

克吕金法的优点是以空间统计学作为其坚实的理论基础,物理含义明确;不但能估计测定参数的空间变异分布,而且还可以估算参数的方差分布。克吕金法的缺点是计算步骤较烦琐, 计算量大,且变异函数有时需要根据经验人为选定。

Name Type Description
options Object

可选参数。如:
type - {string} 克吕金插值的类型。必设参数。
mean - {number} 【简单克吕金】类型下,插值字段的平均值。
angle - {number} 克吕金算法中旋转角度值,默认值为0。
nugget - {number} 克吕金算法中块金效应值,默认值为0。
range - {number} 克吕金算法中自相关阈值,单位与原数据集单位相同,默认值为0。
sill - {number} 克吕金算法中基台值,默认值为0。
variogramMode - {string} 克吕金插值时的半变函数类型,默认为球型(SPHERICAL)。
exponent - {string} 【泛克吕金】类型下,用于插值的样点数据中趋势面方程的阶数,可选值为exp1、exp2,默认值为exp1。
bounds - {Object} 插值分析的范围,用于确定结果栅格数据集的范围。Bounds类型可以是SuperMap.Bounds|L.Bounds|ol.extent。
searchMode - {string} 插值运算时,查找参与运算点的方式,有固定点数查找、定长查找、块查找,必设参数。
expectedCount - {number} 【固定点数查找】方式下,设置待查找的点数,默认值为12;【定长查找】方式下,设置查找的最小点数,默认值为12。
searchRadius - {number} 【定长查找】方式下,设置参与运算点的查找范围,默认值为0。
maxPointCountForInterpolation - {number} 【块查找】方式下,设置最多参与插值的点数,默认值为200。
maxPointCountInNode - {number} 【块查找】方式下,设置单个块内最多参与运算点数,默认值为50。
zValueFieldName - {string} 存储用于进行插值分析的字段名称,插值分析不支持文本类型的字段。当插值分析类型(SuperMap.InterpolationAnalystType)为 dataset 时,必设参数。
zValueScale - {number} 用于进行插值分析值的缩放比率,默认值为1。
resolution - {number} 插值结果栅格数据集的分辨率,即一个像元所代表的实地距离,与点数据集单位相同。
filterQueryParameter - {SuperMap.FilterParameter} 属性过滤条件。
outputDatasetName - {string} 插值分析结果数据集的名称,必设参数。
outputDatasourceName - {string} 插值分析结果数据源的名称。必设参数
pixelFormat - {string} 指定结果栅格数据集存储的像素格式。
dataset - {string} 要用来做插值分析的数据源中数据集的名称。该名称用形如”数据集名称@数据源别名”形式来表示。当插值分析类型(SuperMap.InterpolationAnalystType)为 dataset 时,必设参数。
inputPoints - {Array <Object} 用于做插值分析的离散点集合。当插值分析类型(InterpolationAnalystType)为 geometry 时,必设参数。点类型可以是SuperMap.Geometry.Point|L.LatLng|L.Point|ol.geom.Point。

Example
例如:
var myInterpolationKrigingAnalystParameters = new SuperMap.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

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

boundsObject

插值分析的范围,用于确定结果栅格数据集的范围。 Bounds类型可以是SuperMap.Bounds|L.Bounds|ol.extent。 如果缺省,则默认为原数据集的范围。鉴于此插值方法为内插方法,原数据集的范围内的插值结果才相对有参考价值, 因此建议此参数不大于原数据集范围。

clipParamObject

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

datasetstring

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

expectedCountnumber

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

【泛克吕金】类型下,用于插值的样点数据中趋势面方程的阶数。 默认值为 SuperMap.Exponent.EXP1。

filterQueryParameterSuperMap.FilterParameter

过滤条件,对分析数据集中的点进行过滤,不设置时默认为null,即对数据集中的所有点进行分析。

inputPointsArray.<Object>

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

InterpolationAnalystTypestring

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

maxPointCountForInterpolationnumber

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

maxPointCountForInterpolationnumber

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

meannumber

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

nuggetnumber

克吕金算法中块金效应值。默认值为0。

outputDatasetNamestring

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

outputDatasourceNamestring

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

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

rangenumber

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

resolutionnumber

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

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

searchRadiusnumber

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

sillnumber

克吕金算法中基台值。默认值为0。

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

variogramModeSuperMap.VariogramMode

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

zValueFieldNamestring

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

zValueScalenumber

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

Methods

destroy()

common/iServer/InterpolationKrigingAnalystParameters.js, line 206

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