トレンド ラスターの生成 (Generate Trend Raster) (Image Analyst)

Image Analyst ライセンスで利用できます。

概要

多次元ラスターの 1 つまたは複数の変数のディメンションに沿って各ピクセルのトレンドを推定します。

使用法

  • たとえば、40 年分の月次の海洋温度データがあり、各ピクセルのトレンド ラインをフィッティングして、時間の経過に伴いどこでどのように温度が変化したかを表示したい場合などに、このツールを使用できます。

  • サポートされている多次元ラスター データセットには、netCDF、GRIB、HDF、Esri の CRF などがあります。多次元モザイク データセットもサポートされています。

  • このツールは、多次元ラスター データセットを CRF (Cloud Raster Format) で生成します。現在、他の出力形式はサポートされていません。

  • デフォルトでは、出力された多次元ラスターは、LZ77 圧縮タイプを使用して圧縮されます。ただし、圧縮タイプを LERC に変更し、データに応じて最大誤差を調整することをお勧めします。たとえば、解析結果が小数点以下 3 桁まで正確であることを期待する場合は、0.001 を最大誤差に使用します。不要な精度要件は、処理時間およびストレージ サイズを増やすため、避けることをお勧めします。

  • トレンドをディメンションに沿って変数値にフィッティングするための 3 つのトレンド ライン オプション (リニア、調和、多項式) があります。次に、これら 3 つのトレンド フィッティング オプションについて説明します。

    線形、調和、2 次および 3 次多項式トレンド タイプ
    • 線形 - 線形トレンド ラインは、シンプルな線形リレーションシップの推定に使用されるベストフィット直線です。線形トレンドは、一定の比率で増加または減少している変化率を強調します。線形トレンド ラインの式は、次のとおりです。
      線形トレンド ラインの方程式
      • y = ピクセルの変数値
      • x = ディメンション値
      • ß0 = y インターセプト
      • ß1 = 変化の線形勾配または率

        ß1 > 0 は、増加しているトレンドを示します。

        ß1 < 0 は、減少しているトレンドを示します。

    • 調和 - 調和トレンド ラインは、周期的なパターン (季節的な温度変化など) に従うデータを示す場合に最適に使用される、定期的に繰り返す曲線です。調和トレンド ラインの式は、次のとおりです。
      調和トレンド ラインの方程式
      • y = ピクセルの変数値
      • t = ユリウス日
      • ß0 = y インターセプト
      • ß1 = 変化率
      • α, γ = 年次変化または年内変化の係数
      • ω = i
      • f = 高調波頻度
    • 多項式 - 多項式トレンド ラインは、変動するデータに役立つ曲線です。この場合、多項式の次数の値は、発生する変動の最大数を示すために使用されます。多項式トレンド ラインの式は、次のとおりです。
      多項式トレンド ラインの方程式
      • y = ピクセルの変数値
      • x = ディメンション値
      • ß0, ß1, ß2, ß3, ..., ßn = 一定係数
  • このツールで生成された出力トレンド ラスターは、[トレンド ラスターを使用した予測 (Predict Using Trend Raster)] ツールの入力として使用されます。出力は多次元ラスターで、その各スライスがトレンド ラインに関する情報を含むマルチバンド ラスターです。1 つのディメンション (たとえば、時間) を含むデータセットの 1 つの変数のトレンドを解析している場合、出力データセットには 1 つのスライスが存在します。複数のディメンション (たとえば、時間と深度) を含むデータセットの 1 つの変数を解析している場合、各スライスには、解析に含まれなかったディメンションに沿った各ディメンション値のトレンド情報が含まれます。

    線形トレンド解析の場合、出力には 3 バンド ラスターが含まれます。

    • バンド 1 = 勾配
    • バンド 2 = インターセプト
    • バンド 3 = RMSE (二乗平均平方根誤差) またはベスト フィットのラインの周りの誤差

    調和トレンド解析の場合、出力のバンド数は高調波周波数によって異なります。周波数が 1 に設定されている場合、出力は 5 バンド ラスターです。

    • バンド 1 = 勾配
    • バンド 2 = インターセプト
    • バンド 3 = Harmonic_sin1
    • バンド 4 = Harmonic_cos1
    • バンド 5 = RMSE

    周波数が 2 に設定されている場合、出力は 7 バンド ラスターです。

    • バンド 1 = 勾配
    • バンド 2 = インターセプト
    • バンド 3 = Harmonic_sin1
    • バンド 4 = Harmonic_cos1
    • バンド 5 = Harmonic_sin2
    • バンド 6 = Harmonic_cos2
    • バンド 7 = RMSE

    多項式トレンド解析の場合、出力のバンド数は多項式の次数によって異なります。2 次多項式フィッティングでは、4 バンド ラスターが生成されます。

    • バンド 1 = Polynomial_2
    • バンド 2 = Polynomial_1
    • バンド 3 = Polynomial_0
    • バンド 4 = RMSE

    3 次多項式フィッティングでは、5 バンド ラスターが生成されます。

    • バンド 1 = Polynomial_3
    • バンド 2 = Polynomial_2
    • バンド 3 = Polynomial_1
    • バンド 4 = Polynomial_0
    • バンド 5 = RMSE

  • 調和トレンド解析の [サイクル長] パラメーターは、1 日または 1 年を通じてデータに表示される想定のサイクルの数と長さを示すために使用されます。たとえば、データが 1 年間に 2 つの変動サイクルで処理される場合、サイクル長は 182.5 日または 0.5 年になります。3 時間ごとに温度データを収集し、1 日に 1 サイクルの変動がある場合、サイクル長は 1 日になります。

  • 調和トレンド解析の [頻度] パラメーターは、データにフィッティングする調和モデルを表すために使用されます。頻度を 1 に設定すると、線形と 1 次調和曲線の組み合わせを使用して、モデルに適合します。頻度が 2 の場合、線形、1 次調和曲線、および 2 次調和曲線の組み合わせがモデルのフィッティングに使用されます。頻度が 3 の場合、追加の 3 次調和曲線を使用して、データをモデル化します。以降も同様です。

  • モデル近似性統計情報は、オプション出力として生成できます。二乗平均平方根誤差 (RMSE)、R2、およびトレンド傾斜の P 値を計算し、出力ラスターの [プロパティ] ウィンドウの [統計情報] セクションに表示することができます。[RGB] シンボルを使用して出力トレンド ラスターをシンボル表示し、統計情報を赤、緑、青のバンドとして指定することによって、統計情報を表示することもできます。

構文

GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value})
パラメーター説明データ タイプ
in_multidimensional_raster

入力多次元ラスター データセット。

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

このディメンションに沿って、解析で選択された変数に対してトレンドが抽出されます。

String
variables
[variables,...]
(オプション)

トレンドを計算する変数。変数が指定されない場合、多次元ラスターの最初の変数が解析されます。

String
line_type
(オプション)

ディメンションに沿ったピクセル値へのフィッティングに使用するラインのタイプを指定します。

  • LINEARリニア トレンド ラインに沿って変数のピクセル値がフィッティングされます。これがデフォルトです。
  • POLYNOMIAL2 次多項式トレンド ラインに沿って変数のピクセル値がフィッティングされます。
  • HARMONIC調和トレンド ラインに沿って変数のピクセル値がフィッティングされます。
String
frequency
(オプション)

トレンド フィッティングで使用する頻度または多項式の次数。トレンド タイプが多項式の場合、このパラメーターは多項式の次数を指定します。トレンド タイプが調和の場合、このパラメーターはトレンドのフィッティングに使用するモデルの数を指定します。

このパラメーターは、解析対象のディメンションが時間である場合にのみ、トレンド解析に含まれます。

line_type パラメーターが HARMONIC である場合、デフォルト値は 1、つまり 1 次調和曲線がモデルのフィッティングに使用されます。

line_type パラメーターが POLYNOMIAL である場合、デフォルト値は 2、つまり 2 次多項式です。

Long
ignore_nodata
(オプション)

解析で NoData 値を無視するかどうかを指定します。

  • DATA 解析は、特定のディメンションに沿って有効なすべてのピクセルを含め、すべての NoData 値のピクセルを無視します。これがデフォルトです。
  • NODATA特定のディメンションに沿って NoData 値のピクセルが存在する場合、解析結果が NoData になります。
Boolean
cycle_length
(オプション)

モデル化する周期変動の長さ。line_typeHARMONIC に設定されている場合、このパラメーターは必須です。たとえば、葉の緑度には 1 年に 1 回の強い変動サイクルが存在することが多いため、サイクル長は 1 年になります。1 時間ごとの温度データには、1 日に 1 回の強い変動サイクルが存在するため、サイクル長は 1 日になります。

1 年のサイクルで変化するデータのデフォルト長は 1 年です。

Double
cycle_unit
(オプション)

調和サイクルの長さに使用される時間単位を指定します。

  • DAYS調和サイクルの長さの単位は日です。
  • YEARS調和サイクルの長さの単位は年です。これがデフォルトです。
String
rmse
(オプション)

トレンド フィット ラインの RMSE (二乗平均平方根誤差) を計算するかどうかを指定します。

  • RMSERMSE が計算されます。これがデフォルトです。
  • NO_RMSERMSE は計算されません。
Boolean
r2
(オプション)

トレンド フィット ラインの R2 適合度統計を計算するかどうかを指定します。

  • R2R2 値が計算されます。
  • NO_R2R2 値は計算されません。これがデフォルトです。
Boolean
slope_p_value
(オプション)

トレンド ラインの傾斜係数の統計量 P 値を計算するかどうかを指定します。

  • SLOPEPVALUEP 値が計算されます。
  • NO_SLOPEPVALUEP 値は計算されません。これがデフォルトです。
Boolean

戻り値

名前説明データ タイプ
out_multidimensional_raster

出力される CRF (Cloud Raster Format) 多次元ラスター データセット。

Raster

コードのサンプル

GenerateTrendRaster (トレンド ラスターの生成) の例 1 (Python ウィンドウ)

この例では、時間経過に伴う降水量データの多項式トレンド フィットを計算します。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
trendCoeffMultidim = arcpy.ia.GenerateTrendRaster("model_time_series.crf", 
	"StdTime", "precip", "POLYNOMIAL", 2, "DATA", None, '', "RMSE","R2", None)
	
# Save output
trendCoeffMultidim.save("C:/data/polynomial_trend_coefficients.crf")
GenerateTrendRaster (トレンド ラスターの生成) の例 2 (スタンドアロン スクリプト)

この例では、時間経過に伴う温度データと塩分濃度データのリニア トレンド フィットを計算します。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters

inFile = "C:/Data/ClimateVariables.crf"
dimensionName = "Depth"
variables = "salinity;temp"
trend_type = "LINEAR"
frequency = None
ignore_Nodata = "DATA"
cycle_length = None
cycle_unit = ''
rmse = "RMSE"
r2 = "R2"
slopeP = "NO_SLOPEPVALUE")

# Execute - fit a linear model for salinity and temperature
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_type, frequency, ignore_nodata, cycle_length,
	cycle_unit, rmse, r2, slopeP)
	
# Save output
trendCoeffMultidim.save("C:/data/linear_trend_coefficients.crf")
GenerateTrendRaster (トレンド ラスターの生成) の例 3 (スタンドアロン スクリプト)

この例では、NDVI 時系列に沿って調和トレンド フィットを計算します。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters

inFile = "C:/data/ndvi_time_series.crf"
dimensionName = "StdTime"
variables = "ndvi"
trend_model = "HARMONIC"
harmonic_frequency = 1
ignore_Nodata = "DATA"
length_of_cycle = 1
cycle_unit = "YEARS"
rmse = "RMSE"
r_square = "NO_R2"
p_value = "NO_SLOPEPVALUE"

# Execute 
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_model, harmonic_frequency, ignore_nodata,
	length_of_cycle, cycle_unit, rmse,r_square,p_value)
	
# Save output
trendCoeffMultidim.save("C:/data/harmonic_trend_coefficients.crf")

ライセンス情報

  • Basic: 次のものが必要 Image Analyst
  • Standard: 次のものが必要 Image Analyst
  • Advanced: 次のものが必要 Image Analyst

関連トピック