克里金法 (3D Analyst)

需要 Spatial Analyst 许可。

需要 3D Analyst 许可。

摘要

使用克里金法将点插值成栅格表面。

经验贝叶斯克里金法工具提供了增强的功能或性能。

了解有关克里金法工作原理的详细信息

使用情况

  • 克里金法是一个占用大量处理器资源的过程。 执行速度取决于输入数据集中点的数量和搜索窗口的大小。

  • 预测栅格可选输出方差中的低值指示预测值的高置信度。 高值可能表示需要更多数据点。

  • 泛克里金法类型假定存在结构成分,并且局部趋势在不同的位置有所不同。

  • 半变异函数属性可控制克里金法所使用的半变异函数。 步长大小的默认值初始设置为默认输出像元大小。 对于主要范围偏基台块金来说,如果未进行任何设置,将会内部计算默认值。

  • 预测栅格的可选输出方差在每个输出栅格像元中都含有克里金方差。 假设克里金误差是正态分布的,则像元中实际 z 值等于预测栅格值加上或减去方差栅格中值的平方根 2 倍的可能性为 95.5%。

  • 输出像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。 如果未指定参数像元大小或环境像元大小,但已设置了捕捉栅格环境,则将使用捕捉栅格的像元大小。 如果未任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。

  • 如果使用数值指定了像元大小,工具将直接将其用于输出栅格。

    如果使用栅格数据集指定了像元大小,则参数将显示栅格数据集的路径而不是像元大小值。 该栅格数据集的像元大小将直接用于分析,前提是数据集的空间参考与输出空间参考相同。 如果数据集的空间参考与输出空间参考不同,将根据指定的像元大小方法值进行投影。

  • 某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处的点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。

    各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。

  • 对于支持空值的数据格式(例如文件地理数据库要素类),当用作输入时,空值将被忽略。

参数

标注说明数据类型
输入点要素

包含要插值到表面栅格中的 z 值的输入点要素。

Feature Layer
Z 值字段

存放每个点的高度值或量级值的字段。

如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。

Field
输出表面栅格

输出插值后的表面栅格。

其总为浮点栅格。

Raster Dataset
半变异函数属性

要使用的半变异函数模型。有两种克里金法:普通克里金法和泛克里金法。

普通克里金法可使用下列半变异函数模型:

  • Spherical球面半变异函数模型。这是默认设置。
  • Circular圆半变异函数模型。
  • Exponential指数半变异函数模型。
  • Gaussian高斯(或正态分布)半变异函数模型。
  • Linear采用基台的线性半变异函数模型。

泛克里金法可使用下列半变异函数模型:

  • Linear with Linear drift采用一次漂移函数的泛克里金法。
  • Linear with Quadratic drift采用二次漂移函数的泛克里金法。

高级参数对话框中有一些选项可供使用。这些参数是:

  • Lag size默认值为输出栅格的像元大小。
  • Major range表示距离,超出此距离即认定为不相关。
  • Partial sill块金和基台之间的差值。
  • Nugget表示在因过小而无法检测到的空间尺度下的误差和变差。块金效应被视为在原点处的不连续。
KrigingModel
输出像元大小
(可选)

将创建的输出栅格的像元大小。

该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。

Analysis Cell Size
搜索半径
(可选)

定义要用来对输出栅格中各像元值进行插值的输入点。

有两个选项:可变固定。“可变”是默认设置。

  • 可变

    使用可变搜索半径来查找用于插值的指定数量的输入采样点。

    • 点数 - 指定要用于执行插值的最邻近输入采样点数量的整数值。默认值为 12 个点。
    • 最大距离 - 使用地图单位指定距离,以此限制对最邻近输入采样点的搜索。默认值是范围的对角线长度。
  • 固定

    使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。

    • 距离 - 指定用作半径的距离,在该半径范围内的输入采样点将用于执行插值。

      半径值使用地图单位来表示。默认半径是输出栅格像元大小的五倍。

    • 最小点数 - 定义用于插值的最小点数的整数。默认值为 0。

      如果在指定距离内没有找到所需点数,则将增加搜索距离,直至找到指定的最小点数。

      搜索半径需要增加时就会增加,直到最小点数在该半径范围内,或者半径的范围越过输出栅格的下部(南)和/或上部(北)范围为止。NoData 会分配给不满足以上条件的所有位置。

Radius
预测栅格的输出方差
(可选)

可选的输出栅格,其中每个像元都包含该位置的预测方差值。

Raster Dataset

arcpy.ddd.Kriging(in_point_features, z_field, out_surface_raster, semiVariogram_props, {cell_size}, {search_radius}, {out_variance_prediction_raster})
名称说明数据类型
in_point_features

包含要插值到表面栅格中的 z 值的输入点要素。

Feature Layer
z_field

存放每个点的高度值或量级值的字段。

如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。

Field
out_surface_raster

输出插值后的表面栅格。

其总为浮点栅格。

Raster Dataset
semiVariogram_props
kriging_model

要使用的半变异函数模型。

有两种克里金法:普通克里金法和泛克里金法。普通克里金法模型具有五种可用的半变异函数。泛克里金法模型具有两种可用的半变异函数。每个半变异函数都具有若干可设置的可选参数。

  • 普通克里金法模型半变异函数
    • Spherical - 球面半变异函数模型。这是默认设置。
    • Circular - 圆半变异函数模型。
    • Exponential - 指数半变异函数模型。
    • Gaussian - 高斯(或正态分布)半变异函数模型。
    • Linear - 采用基台的线性半变异函数模型。
  • 泛克里金法模型半变异函数
    • LinearDrift - 采用一次漂移函数的泛克里金法。
    • QuadraticDrift - 采用二次漂移函数的泛克里金法。
  • 定义半变异函数模型之后,其余参数均是普通克里金法和泛克里金法所共有的参数。其中包括以下参数:
    • 步长大小 - 默认值为输出栅格的像元大小。
    • MajorRange - 表示距离,超出此距离即认定为不相关。
    • PartialSill - 块金和基台之间的差值。
    • Nugget - 表示在因过小而无法检测到的空间尺度下的误差和变差。块金效应被视为在原点处的不连续。

半变异函数的形式为文本字符串:

"{semivariogramType},{lagSize},{majorRange},{partialSill},{nugget}"

例如:

"Circular, 2000, 2.6, 542"

KrigingModel
cell_size
(可选)

将创建的输出栅格的像元大小。

该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。

Analysis Cell Size
search_radius
(可选)

定义要用来对输出栅格中各像元值进行插值的输入点。

指定搜索邻域的方式有两种:VariableFixed

Variable 使用可变搜索半径来查找用于插值的指定数量的输入采样点。Fixed 使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。Variable 是默认设置。

这些参数的语法为:

  • Variable, number_of_points, maximum_distance,其中
    • number_of_points - 指定要用于执行插值的最邻近输入采样点数量的整数值。默认值为 12 个点。
    • maximum_distance - 使用地图单位指定距离,以此限制对最邻近输入采样点的搜索。默认值是范围的对角线长度。
  • Fixed, distance, minimum_number_of_points,其中
    • distance - 指定用作半径的距离,在该半径范围内的输入采样点将用于执行插值。半径值使用地图单位来表示。默认半径是输出栅格像元大小的五倍。
    • minimum_number_of_points - 定义用于插值的最小点数的整数。默认值为 0。

      如果在指定距离内没有找到所需点数,则将增加搜索距离,直至找到指定的最小点数。

      搜索半径需要增加时就会增加,直到 minimum_number_of_points 在该半径范围内,或者半径的范围越过输出栅格的下部(南)和/或上部(北)范围为止。NoData 会分配给不满足以上条件的所有位置。

Radius
out_variance_prediction_raster
(可选)

可选的输出栅格,其中每个像元都包含该位置的预测方差值。

Raster Dataset

代码示例

Kriging 示例 1(Python 窗口)

该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Kriging_3d("ca_ozone_pts.shp", "OZONE", "c:/output/krigout",
                 "Spherical", 2000, "Variable 12")
Kriging 示例 2(独立脚本)

该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。

# Name: Kriging_3d_Ex_02.py
# Description: Interpolates a surface from points using kriging.
# Requirements: 3D Analyst Extension
# Import system modules

import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inFeatures = "ca_ozone_pts.shp"
field = "OZONE"
outRaster = "C:/output/krigoutput02"
cellSize = 2000
outVarRaster = "C:/output/outvariance"
kModel = "CIRCULAR"
kRadius = 20000

# Execute Kriging
arcpy.ddd.Kriging(inFeatures, field, outRaster, kModel, 
                 cellSize, kRadius, outVarRaster)

相关主题