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