获得 Image Analyst 许可后可用。
摘要
用于面向多维栅格中一个或多个变量估计每个像素沿维度的趋势。
语法
GenerateTrend (raster, dimension_name, {regression_type}, {cycle_length}, {cycle_unit}, {harmonic_frequency}, {polynomial_order}, {ignore_nodata}, {rmse}, {r2}, {slope_p_value}, {seasonal_period})
参数 | 说明 | 数据类型 |
raster | 输入多维栅格。 | Raster |
dimension_name | 维度的名称;将沿此维度为分析中所选的一个或多个变量提取趋势。 | String |
regression_type | 指定用于拟合沿维度像素值的线的类型。
(默认值为 LINEAR) | String |
cycle_length | 要进行建模的周期性变化的长度。regression_type 设置为 HARMONIC 时需要此参数。例如,叶绿度通常在一年中具有一个较强的变化周期,因此 cycle_length 为 1 年。每小时温度数据在一天中具有一个较强的变化周期,因此 cycle_length 为 1 天。默认值为 1。 (默认值为 1) | Integer |
cycle_unit | 指定用于谐波周期长度的时间单位。
(默认值为 YEARS) | String |
harmonic_frequency | 当 regression_type 为 HARMONIC 时,趋势拟合中使用的模型数量。默认为 1 或每年一个谐波周期。 仅当分析的维度是时间时,趋势分析中才会包含此参数。 (默认值为 1) | Integer |
polynomial_order | 当 regression_type 为 POLYNOMIAL 时,趋势拟合中使用的多项式阶数。默认为 2 或二阶多项式。 仅当分析的维度是时间时,趋势分析中才会包含此参数。 (默认值为 2) | Integer |
ignore_nodata | 指定分析中是否忽略 NoData 值。
(默认值为 True) | Boolean |
rmse | 指定是否将计算趋势拟合线的均方根误差 (RMSE)。
(默认值为 True) | Boolean |
r2 | 指定是否将为趋势拟合线计算 R 平方拟合优度统计数据。
(默认值为 False) | Boolean |
slope_p_value | 指定是否将为趋势线的斜率系数计算 p 值统计数据。
(默认值为 False) | Boolean |
seasonal_period | 指定要用于季节性期间的单位。当将 regression_type 参数设置为 SEASONAL-KENDALL 时,此为必需项。
(默认值为 DAYS) | String |
数据类型 | 说明 |
Raster | 输出栅格。 |
代码示例
本示例将计算沿 NDVI 时间序列的谐波趋势拟合。
# Import system modulesimport arcpy
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set the local variables
in_multidimensional_raster = "C:/data/ndvi_time_series.crf"
dimension_name = "StdTime"
regression_type = "HARMONIC"
cycle_length = 1
cycle_unit = "YEARS"
harmonic_frequency = 1
polynomial_order = None
ignore_nodata = True
rmse = True
r2 = False
slope_p_value = False
seasonal_period = None
# Apply GenerateTrendRaster function
trend_raster = arcpy.ia.GenerateTrend(in_multidimensional_raster,
dimension_name, regression_type, cycle_length, cycle_unit,
harmonic_frequency, polynomial_order, ignore_nodata, rmse,
r2, slope_p_value, seasonal_period)
# Save the output
trend_raster.save("C:/arcpyExamples/outputs/ndvi_trend_raster.crf")