克里金法 (Spatial Analyst 工具)
汇总
用法
克里金法是一个占用大量处理器资源的过程。 执行速度取决于输入数据集中点的数量和搜索窗口的大小。
预测栅格可选输出方差中的低值指示预测值的高置信度。 高值可能表示需要更多数据点。
泛克里金法类型假定存在结构组件,且局部趋势将随位置的变化而变化。
半变异函数属性可控制克里金法所使用的半变异函数。 步长大小的默认值初始设置为默认输出像元大小。 对于主变程、偏基台和块金来说,如果未进行任何设置,将会内部计算默认值。
预测栅格的可选输出方差在每个输出栅格像元中都含有克里金方差。 假设克里金误差是正态分布的,则像元中实际 z 值等于预测栅格值加上或减去方差栅格中值的平方根 2 倍的可能性为 95.5%。
输出像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。 如果未指定参数像元大小或环境像元大小,但已设置了捕捉栅格环境,则将使用捕捉栅格的像元大小。 如果未任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。
如果使用数值指定了像元大小,工具将直接将其用于输出栅格。
如果使用栅格数据集指定了像元大小,则参数将显示栅格数据集的路径而不是像元大小值。 该栅格数据集的像元大小将直接用于分析,前提是数据集的空间参考与输出空间参考相同。 如果数据集的空间参考与输出空间参考不同,将根据指定的像元大小投影方法值进行投影。
某些输入数据集可能包含多个具有相同 x,y 坐标的点。 如果共有位置处点的值相同,则将其视为重复项,但并不影响输出。 如果值不同,则认为它们是重合点。
各种插值工具可在不同条件下以不同方式处理此数据。 例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。 这可能导致输出栅格中某些位置的值与预期值不同。 解决办法就是在准备数据时移除这些重合点。 “空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。
对于支持空值的数据格式(例如文件地理数据库要素类),当用作输入时,空值将被忽略。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
参数
|
标注
|
说明
|
数据类型
|
|
输入点要素
|
包含要插值到表面栅格中的 z 值的输入点要素。
|
Feature Layer
|
|
Z 值字段
|
存放每个点的高度值或量级值的字段。
如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。
|
Field
|
|
半变异函数属性
|
要使用的半变异函数模型。 对于克里金法:普通克里金法和泛克里金法,存在两种方法。
普通克里金法可使用下列半变异函数模型:
球面—球面半变异函数模型。 这是默认设置。
圆形—圆形半变异函数模型。
指数—指数半变异函数模型。
高斯—高斯或正态分布半变异函数模型。
线性—采用基台的线性半变异函数模型。
泛克里金法可使用下列半变异函数模型:
高级参数对话框中有一些选项可供使用。 这些参数是:
|
KrigingModel
|
|
输出像元大小
(可选)
|
将创建的输出栅格的像元大小。
该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。
|
Analysis Cell Size
|
|
搜索半径
(可选)
|
定义要用来对输出栅格中各像元值进行插值的输入点。
有两个选项:可变和固定。 “可变”是默认设置。
|
Radius
|
|
预测栅格的输出方差
(可选)
|
可选的输出栅格,其中每个像元都包含该位置的预测方差值。
|
Raster Dataset
|
返回值
|
标注
|
说明
|
数据类型
|
|
输出表面栅格
|
输出插值后的表面栅格。
总为浮点栅格。
|
Raster
|
Kriging(in_point_features, z_field, semiVariogram_props, {cell_size}, {search_radius}, {out_variance_prediction_raster})
|
名称
|
说明
|
数据类型
|
|
in_point_features
|
包含要插值到表面栅格中的 z 值的输入点要素。
|
Feature Layer
|
|
z_field
|
存放每个点的高度值或量级值的字段。
如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。
|
Field
|
|
semiVariogram_props
[kriging_model,...]
|
KrigingModel 类定义要使用的克里金模型。
克里金类分为两种类型。 KrigingModelOrdinary 方法具有五种可用的半变异函数。 KrigingModelUniversal 方法具有两种可用的半变异函数。
KrigingModelOrdinary ({semivariogramType}, {lagSize}, {majorRange}, {partialSill}, {nugget})
KrigingModelUniversal ({semivariogramType}, {lagSize}, {majorRange}, {partialSill}, {nugget})
{semivariogramType} 之后,其他参数均是普通克里金法和泛克里金法所共有的参数。
|
KrigingModel
|
|
cell_size
(可选)
|
将创建的输出栅格的像元大小。
该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。
|
Analysis Cell Size
|
|
search_radius
(可选)
|
Radius 类可定义要用来对输出栅格中各像元值进行插值的输入点。
半径类分为两种类型:RadiusVariable 和 RadiusFixed。 使用“可变”搜索半径来查找用于插值的指定数量的输入采样点。 “固定”类型使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。 “可变”类型是默认值。
RadiusVariable ({numberofPoints}, {maxDistance})
RadiusFixed ({distance}, {minNumberofPoints})
{distance}—指定用作半径的距离,在该半径范围内的输入采样点将用于执行插值。
半径值使用地图单位来表示。 默认半径是输出栅格像元大小的五倍。
{minNumberofPoints}—定义用于插值的最小点数的整数。 默认值为 0。
如果在指定距离内未找到所需点数,则将增大搜索距离,直至找到指定最小点数为止。
搜索半径需要增加时就会增加,直到 {minNumberofPoints} 在该半径范围内,或者半径的范围越过输出栅格的下部(南)和/或上部(北)范围为止。 NoData 会分配给不满足上述条件的所有位置。
|
Radius
|
|
out_variance_prediction_raster
(可选)
|
可选的输出栅格,其中每个像元都包含该位置的预测方差值。
|
Raster Dataset
|
返回值
|
名称
|
说明
|
数据类型
|
|
out_surface_raster
|
输出插值后的表面栅格。
总为浮点栅格。
|
Raster
|
代码示例
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outKrig = Kriging("ozone_pts.shp", "OZONE", KrigingModelOrdinary("CIRCULAR", 2000, 2.6, 542, 0), 2000, RadiusFixed(20000, 1))
outKrig.save("c:/sapyexamples/output/krigout")
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。
# Name: Kriging_Ex_02.py
# Description: Interpolates a surface from points using kriging.
# Requirements: Spatial Analyst extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inFeatures = "ca_ozone_pts.shp"
field = "OZONE"
cellSize = 2000
outVarRaster = "C:/sapyexamples/output/outvariance"
lagSize = 2000
majorRange = 2.6
partialSill = 542
nugget = 0
# Set complex variables
kModelOrdinary = KrigingModelOrdinary("CIRCULAR", lagSize,
majorRange, partialSill, nugget)
kRadius = RadiusFixed(20000, 1)
# Run Kriging
outKriging = Kriging(inFeatures, field, kModelOrdinary, cellSize,
kRadius, outVarRaster)
# Save the output
outKriging.save("C:/sapyexamples/output/krigoutput02")
环境
自动提交, 像元大小, 像元大小投影方法, 当前工作空间, 范围, 地理变换, 掩膜, 输出配置关键字, 输出坐标系, 临时工作空间, 捕捉栅格, 分块大小
许可信息
- 基本: 需要 Spatial Analyst 或 3D Analyst
- 标准: 需要 Spatial Analyst 或 3D Analyst
- 高级: 需要 Spatial Analyst 或 3D Analyst