局部多项式插值法 (地统计分析)

需要 Geostatistical Analyst 许可。

描述

拟合处于指定重叠邻域内的指定阶(零阶、一阶、二阶、三阶等)多项式以生成输出表面。

局部多项式插值法的工作原理

使用方法

  • 当数据集显示短程变化时,可使用局部多项式插值法

  • 全局多项式插值法适用于在数据集中创建平滑表面以及确定长期趋势。然而,在地球科学中,除了长期趋势之外,感兴趣的变量通常还具有短程变化。当数据集显示出短程变化时,局部多项式插值法地图可捕获这种变化。

语法

arcpy.ga.LocalPolynomialInterpolation(in_features, z_field, {out_ga_layer}, {out_raster}, {cell_size}, {power}, {search_neighborhood}, {kernel_function}, {bandwidth}, {use_condition_number}, {condition_number}, {weight_field}, {output_type})
参数说明数据类型
in_features

包含要插入的 z 值的输入点要素。

Feature Layer
z_field

表示每个点的高度或量级值的字段。如果输入要素包含 z 值或 m 值,则该字段可以是数值字段或 Shape 字段。

Field
out_ga_layer
(可选)

生成的地统计图层。只有未请求任何输出栅格时才需要输出该图层。

Geostatistical Layer
out_raster
(可选)

输出栅格。只有未请求任何输出地统计图层时才需要输出该栅格。

Raster Dataset
cell_size
(可选)

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

可以通过像元大小参数在环境中明确设置该值。

如果未设置,则该值为输入空间参考中输入点要素范围的宽度与高度中的较小值除以 250。

Analysis Cell Size
power
(可选)

多项式的阶。

Long
search_neighborhood
(可选)

定义用于控制输出的周围点。“标准”为默认选项。

以下是搜索邻域类:SearchNeighborhoodStandardSearchNeighborhoodSmoothSearchNeighborhoodStandardCircularSearchNeighborhoodSmoothCircular

标准

  • majorSemiaxis - 搜索邻域的长半轴值。
  • minorSemiaxis - 搜索邻域的短半轴值。
  • angle - 移动窗口的轴(圆)或长半轴(椭圆)的旋转角度。
  • nbrMax - 用于估计未知位置值的最大相邻数。
  • nbrMin - 用于估计未知位置值的最小相邻数。
  • sectorType - 邻域的几何。
    • ONE_SECTOR - 单个椭圆。
    • FOUR_SECTORS - 分为四个扇区的椭圆。
    • FOUR_SECTORS_SHIFTED - 分为四个扇区且偏移 45 度的椭圆。
    • EIGHT_SECTORS - 分为八个扇区的椭圆。

平滑

  • majorSemiaxis - 搜索邻域的长半轴值。
  • minorSemiaxis - 搜索邻域的短半轴值。
  • angle - 移动窗口的轴(圆)或长半轴(椭圆)的旋转角度。
  • smoothFactor -“平滑插值”选项可在“长半轴”与“平滑系数”相乘所得的距离处创建一个外椭圆和一个内椭圆。使用反曲线函数可对位于最小椭圆外、最大椭圆内的点加权,加权值介于 0 和 1 之间。

标准圆

  • radius - 搜索圆的半径长度。
  • angle - 移动窗口的轴(圆)或长半轴(椭圆)的旋转角度。
  • nbrMax - 用于估计未知位置值的最大相邻数。
  • nbrMin - 用于估计未知位置值的最小相邻数。
  • sectorType - 邻域的几何。
    • ONE_SECTOR - 单个椭圆。
    • FOUR_SECTORS - 分为四个扇区的椭圆。
    • FOUR_SECTORS_SHIFTED - 分为四个扇区且偏移 45 度的椭圆。
    • EIGHT_SECTORS - 分为八个扇区的椭圆。

平滑圆形

  • radius - 搜索圆的半径长度。
  • smoothFactor -“平滑插值”选项可在“长半轴”与“平滑系数”相乘所得的距离处创建一个外椭圆和一个内椭圆。使用反曲线函数可对位于最小椭圆外、最大椭圆内的点加权,加权值介于 0 和 1 之间。
Geostatistical Search Neighborhood
kernel_function
(可选)

模拟中所使用的核函数。

  • EXPONENTIAL函数按比例增长或衰减。
  • GAUSSIAN朝正或负无穷方向快速跌落的钟形函数。
  • QUARTIC四阶多项式函数。
  • EPANECHNIKOV不连续的抛物线函数。
  • POLYNOMIAL5五阶多项式函数。
  • CONSTANT指示函数。
String
bandwidth
(可选)

用于指定预测所用数据点之间的最大距离。随着带宽的增加,预测偏差将增加,而预测方差会减少。

Double
use_condition_number
(可选)

对预测不稳定位置的预测和预测标准误差的创建进行控制的选项。此选项只可用于 1 阶、2 阶和 3 阶多项式。

  • NO_USE_CONDITION_NUMBER预测值将在各处创建,包括预测值不稳定的位置。这是默认设置。
  • USE_CONDITION_NUMBER不会在预测不稳定位置创建预测和预测标准误差。
Boolean
condition_number
(可选)

每个可逆方阵都具有一个条件数,用来表示矩阵系数发生微小变化时(可能是由非精确数据导致),线性方程组解的错误程度。如果条件数较大,则很小的矩阵系数变化便会导致解向量的较大变化。

Double
weight_field
(可选)

用于强调某个观测。权重越大,对预测的影响就越大。对于重合的观测,为最可靠的测量值分配最大权重。

Field
output_type
(可选)

用于存储插值结果的表面类型。

有关输出表面类型的详细信息,请参阅插值模型可以生成何种类型的输出表面?

  • PREDICTION可通过内插值生成的预测表面。
  • PREDICTION_STANDARD_ERROR 标准误差表面可通过内插值的标准误差生成。
  • CONDITION_NUMBER空间条件数表面表示在特定位置计算的稳定性。条件数越大,预测越不稳定,所以条件数较大的位置更容易出现伪影和不稳定的预测值。
String

代码示例

LocalPolynomialInterpolation 示例 1(Python 窗口)

将点要素插值成矩形栅格。

import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.LocalPolynomialInterpolation_ga(
    "ca_ozone_pts", "OZONE", "outLPI", "C:/gapyexamples/output/lpiout", "2000",
    "2", arcpy.SearchNeighborhoodSmooth(300000, 300000, 0, 0.5), "QUARTIC", 
    "", "", "", "", "PREDICTION")
LocalPolynomialInterpolation 示例 2(独立脚本)

将点要素插值成矩形栅格。

# Name: LocalPolynomialInterpolation_Example_02.py
# Description: Local Polynomial interpolation fits many polynomials, each 
#              within specified overlapping neighborhoods. 
# Requirements: Geostatistical Analyst Extension

# Import system modules
import arcpy

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

# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
outLayer = "outLPI"
outRaster = "C:/gapyexamples/output/lpiout"
cellSize = 2000.0
power = 2
kernelFunction = "QUARTIC"
bandwidth = ""
useConNumber = ""
conNumber = ""
weightField = ""
outSurface = "PREDICTION"

# Set variables for search neighborhood
majSemiaxis = 300000
minSemiaxis = 300000
angle = 0
smoothFactor = 0.5
searchNeighbourhood = arcpy.SearchNeighborhoodSmooth(majSemiaxis, minSemiaxis,
                                                     angle, smoothFactor)


# Execute LocalPolynomialInterpolation
arcpy.LocalPolynomialInterpolation_ga(inPointFeatures, zField, outLayer, outRaster,
                                      cellSize, power, searchNeighbourhood,
                                      kernelFunction, bandwidth, useConNumber,
                                      conNumber, weightField, outSurface)

许可信息

  • Basic: 需要 地统计分析
  • Standard: 需要 地统计分析
  • Advanced: 需要 地统计分析

相关主题