需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
使用方法
克里金法是一个占用大量处理器资源的过程。执行速度取决于输入数据集中点的数量和搜索窗口的大小。
预测栅格可选输出方差中的低值指示预测值的高置信度。较高值可能表明需要使用更多的数据点。
泛克里金法类型假定有结构组件存在,且局部趋势将随位置的变化而变化。
半变异函数属性可控制克里金法所使用的半变异函数。步长大小的默认值初始设置为默认输出像元大小。对于主要范围、偏基台和块金来说,如果未进行任何设置,将会内部计算默认值。
预测栅格的可选输出方差在每个输出栅格像元中都含有克里金方差。假设克里金误差是正态分布的,则像元中实际 z 值等于预测栅格值加上或减去方差栅格中值的平方根的 2 倍的可能性为 95.5%。
输出像元大小可以通过数值进行定义,也可以从现有栅格数据集获取。如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。如果未指定参数像元大小和环境像元大小,但已设置捕捉栅格环境,则将使用捕捉栅格的像元大小。如果未指定任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。
如果使用数值指定像元大小,则工具会直接将其用于输出栅格。
如果使用栅格数据集指定像元大小,则该参数将显示栅格数据集的路径而不是像元大小的值。如果数据集的空间参考与输出空间参考相同,则栅格数据集的像元大小将直接用于分析。如果数据集的空间参考与输出空间参考不同,则将基于所选的像元大小投影方法进行投影。
某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处的点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。
各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。
对于支持 Null 值的数据格式,例如文件地理数据库要素类,在将 Null 值用作输入时,该值将被忽略。
语法
arcpy.3d.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 | 要使用的半变异函数模型。 有两种克里金法:普通克里金法和泛克里金法。普通克里金法模型具有五种可用的半变异函数。泛克里金法模型具有两种可用的半变异函数。每个半变异函数都具有若干可设置的可选参数。
半变异函数的形式为文本字符串: "{semivariogramType},{lagSize},{majorRange},{partialSill},{nugget}" 例如: "Circular, 2000, 2.6, 542" | KrigingModel |
cell_size (可选) | 将创建的输出栅格的像元大小。 此参数可以通过数值进行定义,也可以从现有栅格数据集获取。如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。有关详细信息,请参阅用法部分。 | Analysis Cell Size |
search_radius (可选) | 定义要用来对输出栅格中各像元值进行插值的输入点。 指定搜索邻域的方式有两种:Variable 和 Fixed。 Variable 使用可变搜索半径来查找用于插值的指定数量的输入采样点。Fixed 使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。Variable 是默认设置。 这些参数的语法为:
| Radius |
out_variance_prediction_raster (可选) | 可选的输出栅格,其中每个像元都包含该位置的预测方差值。 | Raster Dataset |
代码示例
该示例输入一个点 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")
该示例输入一个点 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.Kriging_3d(inFeatures, field, outRaster, kModel,
cellSize, kRadius, outVarRaster)
许可信息
- Basic: 需要 3D Analyst 或 Spatial Analyst
- Standard: 需要 3D Analyst 或 Spatial Analyst
- Advanced: 需要 3D Analyst 或 Spatial Analyst