标注 | 说明 | 数据类型 |
输入点要素 | 包含要插值到表面栅格中的 z 值的输入点要素。 | Feature Layer |
Z 值字段 | 存放每个点的高度值或量级值的字段。 如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。 | Field |
输出栅格 | 输出插值后的表面栅格。 其总为浮点栅格。 | Raster Dataset |
输出像元大小 (可选) | 将创建的输出栅格的像元大小。 该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。 | Analysis Cell Size |
样条函数法类型 (可选) | 要使用的样条函数法类型。
| String |
权重 (可选) | 影响表面插值特征的参数。 默认权重为 0.1。 | Double |
点数 (可选) | 用于局部近似的每个区域的点数。 默认值为 12。 | Long |
需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
使用情况
点数的值越大,输出栅格的表面越平滑。
输出像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。 如果未指定参数像元大小或环境像元大小,但已设置了捕捉栅格环境,则将使用捕捉栅格的像元大小。 如果未任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。
如果使用数值指定了像元大小,工具将直接将其用于输出栅格。
如果使用栅格数据集指定了像元大小,则参数将显示栅格数据集的路径而不是像元大小值。 该栅格数据集的像元大小将直接用于分析,前提是数据集的空间参考与输出空间参考相同。 如果数据集的空间参考与输出空间参考不同,将根据指定的像元大小方法值进行投影。
通过使用选项,用于权重参数的较高值可生成更加平滑的表面。为该参数输入的值必须大于或等于零。所使用的典型值为 0、0.001、0.01、0.1 和 0.5。权重是文献资料中称为 tau (t) 的参数的平方。
通过使用选项,为权重参数输入的较高值会产生略微粗糙的表面,但表面与控制点紧密贴合。输入的值必须大于或等于零。典型值分别为 0、1、5 和 10。权重是文献资料中称为 phi (Φ) 的参数的平方。
某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处的点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。
各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。
对于支持空值的数据格式(例如文件地理数据库要素类),当用作输入时,空值将被忽略。
参数
arcpy.ddd.Spline(in_point_features, z_field, out_raster, {cell_size}, {spline_type}, {weight}, {number_points})
名称 | 说明 | 数据类型 |
in_point_features | 包含要插值到表面栅格中的 z 值的输入点要素。 | Feature Layer |
z_field | 存放每个点的高度值或量级值的字段。 如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。 | Field |
out_raster | 输出插值后的表面栅格。 其总为浮点栅格。 | Raster Dataset |
cell_size (可选) | 将创建的输出栅格的像元大小。 该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。 | Analysis Cell Size |
spline_type (可选) | 要使用的样条函数法类型。
| String |
weight (可选) | 影响表面插值特征的参数。 使用 REGULARIZED 选项时,它定义曲率最小化表达式中表面的三阶导数的权重。如果使用 TENSION 选项,它将定义张力的权重。 默认权重为 0.1。 | Double |
number_points (可选) | 用于局部近似的每个区域的点数。 默认值为 12。 | Long |
代码示例
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 TIFF 栅格。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Spline_3d("ozone_pts.shp", "ozone", "C:/output/splineout.tif",
2000, "REGULARIZED", 0.1)
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。
# Name: Spline_3d_Ex_02.py
# Description: Interpolate a series of points onto a rectangular
# raster using a minimum curvature spline technique.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
outRaster = "C:/output/splineout"
cellSize = 2000.0
splineType = "REGULARIZED"
weight = 0.1
# Execute Spline
arcpy.ddd.Spline(inPointFeatures, zField, outRaster, cellSize,
splineType, weight)