样条函数 (空间分析)
用法
- 
使用样条函数法类型的 REGULARIZED 选项所生成的表面通常比使用 TENSION 选项创建的表面更平滑。 - 通过使用 REGULARIZED 选项,用于权重参数的较高值可生成更加平滑的表面。为该参数输入的值必须大于或等于零。所使用的典型值为 0、0.001、0.01、0.1 和 0.5。权重是文献资料中称为 tau (t) 的参数的平方。 
- 通过使用 TENSION 选项,为权重参数输入的较高值会产生略微粗糙的表面,但表面与控制点紧密贴合。输入的值必须大于或等于零。典型值为 0、1、5 和 10。权重是文献资料中称为 phi (Φ) 的参数的平方。 
 
- 
点数的值越大,输出栅格的表面越平滑。 
- 
某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。 各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。 
语法
| 参数 | 说明 | 数据类型 | 
| in_point_features | 包含要插值到表面栅格中的 z 值的输入点要素。 | Feature Layer | 
| z_field | 存放每个点的高度值或量级值的字段。 如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。 | Field | 
| cell_size (可选) | 要创建的输出栅格的像元大小。 如果明确设置该值,则它将是环境中的值,否则,它是输入空间参考中输入点要素范围的宽度或高度除以 250 之后得到的较小值。 | Analysis Cell Size | 
| spline_type (可选) | 要使用的样条函数法类型。 
 | String | 
| weight (可选) | 影响表面插值特征的参数。 使用 REGULARIZED 选项时,它定义曲率最小化表达式中表面的三阶导数的权重。如果使用 TENSION 选项,它将定义张力的权重。 默认权重为 0.1。 | Double | 
| number_points (可选) | 用于局部近似的每个区域的点数。 默认值为 12。 | Long | 
返回值
| 名称 | 说明 | 数据类型 | 
| out_raster | 输出插值后的表面栅格。 | Raster | 
代码实例
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 TIFF 栅格。
import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSpline = Spline("ozone_pts.shp", "ozone", 2000, "REGULARIZED", 0.1)
outSpline.save("C:/sapyexamples/output/splineout.tif")
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。
# Name: Spline_Ex_02.py
# Description: Interpolate a series of point features onto a 
#    rectangular raster using a minimum curvature spline technique.
# 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
inPntFeat = "ozone_pts.shp"
zField = "ozone"
cellSize = 2000.0
splineType = "REGULARIZED"
weight = 0.1
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Spline
outSpline = Spline(inPntFeat, zField, cellSize, splineType, weight)
# Save the output 
outSpline.save("C:/sapyexamples/output/splineout02")