需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
描述
使用趋势面法将点插值成栅格表面。
使用方法
多项式的阶数越大,拟合的曲面将会越复杂。阶数较高的多项式并不一定能够生成最精确的曲面;具体还要取决于数据本身的特点。
对于回归类型的 LOGISTIC 选项,输入点要素的 z 值字段应具有编码零 (0) 和一 (1)。
输出像元大小可以通过数值进行定义,也可以从现有栅格数据集获取。如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。如果未指定参数像元大小和环境像元大小,但已设置捕捉栅格环境,则将使用捕捉栅格的像元大小。如果未指定任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。
如果使用数值指定像元大小,则工具会直接将其用于输出栅格。
如果使用栅格数据集指定像元大小,则该参数将显示栅格数据集的路径而不是像元大小的值。如果数据集的空间参考与输出空间参考相同,则栅格数据集的像元大小将直接用于分析。如果数据集的空间参考与输出空间参考不同,则将基于所选的像元大小投影方法进行投影。
可选的 RMS 文件输出中包含有关插值的 RMS(均方根)误差的信息。此信息可用于确定最佳的多项式阶数(更改阶数值,直到获得最小的 RMS 误差)。有关 RMS 文件的详细信息,请参阅趋势面法工作原理。
某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处的点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。
各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。
语法
arcpy.ddd.Trend(in_point_features, z_field, out_raster, {cell_size}, {order}, {regression_type}, {out_rms_file})
参数 | 说明 | 数据类型 |
in_point_features | 包含要插值到表面栅格中的 z 值的输入点要素。 | Feature Layer |
z_field | 存放每个点的高度值或量级值的字段。 如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。 如果回归类型为 Logistic,则该字段的值只能为 0 或 1。 | Field |
out_raster | 输出插值后的表面栅格。 其总为浮点栅格。 | Raster Dataset |
cell_size (可选) | 将创建的输出栅格的像元大小。 此参数可以通过数值进行定义,也可以从现有栅格数据集获取。如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。有关详细信息,请参阅用法。 | Analysis Cell Size |
order (可选) | 多项式的阶。 该值必须是介于 1 到 12 之间的整数。值为 1 会对点进行平面拟合,而较高的值则会拟合出更为复杂的曲面。默认值为 1。 | Long |
regression_type (可选) | 要执行的回归类型。
| String |
out_rms_file (可选) | 包含插值的 RMS 误差和卡方相关信息的输出文本文件的文件名。 扩展名必须为 .txt。 | File |
代码示例
Trend 示例 1(Python 窗口)
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 TIFF 栅格。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Trend_3d("ca_ozone_pts.shp", "ozone",
"C:/output/trendout.tif", 2000, 2, "LINEAR")
Trend 示例 2(独立脚本)
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。
# Name: Trend_3d_Ex_02.py
# Description: Interpolate a series of point features onto a
# rectangular raster using a trend 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:/sapyexamples/output/trendout02"
cellSize = 2000.0
PolynomialOrder = 2
regressionType = "LINEAR"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Trend
arcpy.Trend_3d(inPointFeatures, zField, outRaster, cellSize,
PolynomialOrder, regressionType)
环境
许可信息
- Basic: 需要 3D Analyst 或 Spatial Analyst
- Standard: 需要 3D Analyst 或 Spatial Analyst
- Advanced: 需要 3D Analyst 或 Spatial Analyst