克里金法 (空间分析)
用法
-
克里金法是一个占用大量处理器资源的过程。执行速度取决于输入数据集中点的数量和搜索窗口的大小。
-
预测栅格可选输出方差中的低值指示预测值的高置信度。较高值可能表明需要使用更多的数据点。
-
泛克里金法类型假定有结构组件存在,且局部趋势将随位置的变化而变化。
-
高级参数可控制克里金法所使用的半变异函数。步长大小的默认值初始设置为默认输出像元大小。对于主要范围、偏基台和块金来说,如果未进行任何设置,将会内部计算默认值。
-
预测栅格的可选输出方差在每个输出栅格像元中都含有克里金法方差。假设克里金误差是正态分布的,则像元中实际 z 值等于预测栅格值加上或减去预测栅格中值的平方根 2 倍的可能性为 95.5%。
-
某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。
各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。
语法
参数 | 说明 | 数据类型 |
in_point_features |
包含要插值到表面栅格中的 z 值的输入点要素。 | Feature Layer |
z_field |
存放每个点的高度值或量级值的字段。 如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。 | Field |
semiVariogram_props kriging_model |
KrigingModel 类定义要使用的克里金模型。 克里金类分为两种类型。KrigingModelOrdinary 方法具有五种可用的半变异函数。KrigingModelUniversal 方法具有两种可用的半变异函数。
| KrigingModel |
cell_size (可选) |
要创建的输出栅格的像元大小。 如果明确设置该值,则它将是环境中的值,否则,它是输入空间参考中输入点要素范围的宽度或高度除以 250 之后得到的较小值。 | Analysis Cell Size |
search_radius (可选) |
Radius 类可定义要用来对输出栅格中各像元值进行插值的输入点。 radius 类分为两种类型:RadiusVariable 和 RadiusFixed。使用“可变”搜索半径来查找用于插值的指定数量的输入采样点。“固定”类型使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。“可变”类型是默认值。
| 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)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Kriging
outKriging = Kriging(inFeatures, field, kModelOrdinary, cellSize,
kRadius, outVarRaster)
# Save the output
outKriging.save("C:/sapyexamples/output/krigoutput02")