克里金法 (空间分析)

摘要

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

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

用法

语法

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})
    • semivariogramType - 要使用的半变异函数模型。可用模型为:
      • SPHERICAL - 球面半变异函数模型。这是默认设置。
      • CIRCULAR - 圆半变异函数模型。
      • EXPONENTIAL - 指数半变异函数模型。
      • GAUSSIAN - 高斯(或正态分布)半变异函数模型。
      • LINEAR - 具有基台的线性半变异函数模型。
  • KrigingModelUniversal ({semivariogramType}, {lagSize}, {majorRange}, {partialSill}, {nugget})
    • semivariogramType - 要使用的半变异函数模型。可用模型为:
      • LINEARDRIFT - 采用一次漂移函数的泛克里金法。
      • QUADRATICDRIFT - 采用二次漂移函数的泛克里金法。
  • 在定义 {semivariogramType} 之后,其他参数均为普通克里金法和泛克里金法所共有的参数。
    • lagSize - 默认值为输出栅格像元大小。
    • majorRange - 表示一种距离,超出此距离即认定为不相关。
    • partialSill - 块金和基台之间的差值。
    • nugget - 表示因过于微小而无法检测到的空间尺度下的误差和变差。块金效应被视为在原点处的不连续。
KrigingModel
cell_size
(可选)

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

如果明确设置该值,则它将是环境中的值,否则,它是输入空间参考中输入点要素范围的宽度或高度除以 250 之后得到的较小值。

Analysis Cell Size
search_radius
(可选)

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

radius 类分为两种类型:RadiusVariableRadiusFixed。使用“可变”搜索半径来查找用于插值的指定数量的输入采样点。“固定”类型使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。“可变”类型是默认值。

  • RadiusVariable ({numberofPoints}, {maxDistance})
    • {numberofPoints} - 指定要用于执行插值的最邻近输入采样点数量的整数值。默认值为 12 个点。
    • {maxDistance} - 使用地图单位指定距离,以此限制对最邻近输入采样点的搜索。默认值是范围的对角线长度。
  • RadiusFixed ({distance}, {minNumberofPoints})
    • {distance} - 指定用作半径的距离,在该半径范围内的输入采样点将用于执行插值。

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

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

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

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

Radius
out_variance_prediction_raster
(可选)

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

Raster Dataset

返回值

名称说明数据类型
out_surface_raster

输出插值后的表面栅格。

Raster

代码示例

克里金法示例 1(Python 窗口)

该示例输入一个点 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")
克里金法示例 2(独立脚本)

该示例输入一个点 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")

环境

相关主题

许可信息

ArcView: 需要 Spatial Analyst 或 3D Analyst
ArcEditor: 需要 Spatial Analyst 或 3D Analyst
ArcInfo: 需要 Spatial Analyst 或 3D Analyst

7/10/2012