LandTrendr を使用した変化の解析 (Analyze Changes Using LandTrendr) (Image Analyst)

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

サマリー

干渉と回復における Landsat ベースの傾向検出 (LandTrendr) 法を使用してピクセル値の経時的な変化を評価し、モデル結果を含む変化解析ラスターを生成します。

LandTrendr の仕組みの詳細

使用法

  • LandTrendr アルゴリズムは、ピクセル値の経時的な変化を識別する手法です。 マルチバンドの Landsat 画像の時系列のために開発された手法であり、変化を検出して変化が起きた前後の土地被覆を分類するために使用されます。 このツールは、サポートされているセンサーからの画像に使用でき、シングル バンド ラスターにおける変化を検出するために使用することもできます。 たとえば、このツールを使って、NDVI ラスターの時系列における変化を検出して森林破壊イベントを特定できます。

  • LandTrendr アルゴリズムは、単一スペクトル バンドまたはスペクトル インデックスのピクセル値情報を使用して、各ピクセルの時系列の軌道を経時的に抽出します。 軌道はセグメント化され、変化のない期間、変化している期間、変化から回復している期間をキャプチャしてモデル化されます。

  • このツールの出力は変化解析ラスター内のモデル情報であり、各ピクセルには、そのピクセルの経時的な変化の履歴を示す一連のモデル情報が格納されています。 変化解析ラスターは、各スライスがモデル係数、RMSE (二乗平均平方根誤差)、および観察された変化で構成される多次元ラスターです。 各ピクセルの変更情報を含むラスターを生成する [変化解析ラスターから変化を検出 (Detect Change Using Change Analysis Raster)] ツールへの入力として使用できます。

    There is one slice for each year in the analysis.
  • このツールの目的は、観測対象フィーチャの変化を抽出することであるため、入力多次元画像としては、期間全体を通して一貫した観測データがキャプチャされ、大気やセンサーによる干渉、雲、雲の影が含まれないものが最適です。 ベスト プラクティスは、正規化済みで、QA バンドを使用してマスクできるデータを使用することです (例: 雲のマスクを含む Landsat Collection 1 Surface Reflectance 製品)。

  • このツールでは各年 1 つの画像に対して解析が行われ、各年のスライス数は [最小観測数] パラメーターで指定した値以上である必要があります。 6 年間以上のデータを用意することをお勧めします。

    月次、週次、または日次のデータがある場合は、各年から複数の画像 (同じ季節の画像を推奨) を選択して、雲や雲の影を除去し、画像を組み合わせて観測対象をよく捉えた 1 つの画像を生成することをお勧めします。 入力多次元ラスターとして月次、週次、または日次データが入力された場合、ツールは [スナップ日付] パラメーターに入力された日付に最も近い日付に基づいて、解析用の 1 つのスライスを特定します。

  • 地形のフィーチャは、森林火災や昆虫の侵入などの非永続的な変化から回復するのに時間がかかることがよくあります。 モデルが認識する回復率を制御するには、[回復閾値] パラメーターを設定します。 個別のセグメントに、1/回復閾値よりも速い回復率を設定することはできません。

  • 地形の変化からの回復は、正または負の方向に発生します。 たとえば、地形で森林が喪失した場合、植生指数を時系列で見ると低下しますが、回復につれて植生指数は緩やかに上昇し、正の回復傾向を示します。 回復傾向の方向を [回復が増加傾向] パラメーターで指定します。

  • 出力変化解析ラスターで計算された変化を調べるには、時系列プロファイル チャートを作成します。 当てはめ値バンドまたは勾配バンドを使用し、変更解析ラスターでさまざまな場所のグラフを生成して、変化が発生した場所を表示します。 グラフ上のポイントにポインターを合わせると、変化が起きた日付を確認できます。

  • このツールの実行には時間がかかる可能性があり、結果の保存にかなり多くのディスク容量を必要とします。 処理時間を短縮し、ストレージ容量を削減するために、以下の手順を実行することをお勧めします。

    • ピラミッド型環境をオフにします。 [環境] ウィンドウの [ピラミッド構築] チェックボックスをオフにして、Python で環境を NONE に設定します。
    • [圧縮] 環境を [LERC] に設定し、[最大値エラー] を 0.000001 に設定します。
    • このツールの出力に対して [変化解析ラスターから変化を検出 (Detect Change Using Change Analysis Raster)] ツールを何度も実行する場合には、結果に対して多次元転置を構築します。

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

パラメーター

ラベル説明データ タイプ
入力多次元ラスター

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

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
処理バンド名
(オプション)

経時的なピクセル値の軌道をセグメント化する際に使用する画像バンド名。 観測対象フィーチャの変化を最もよく捉えたバンド名を選択します。

バンド値が指定されておらず、入力がマルチバンド画像の場合は、マルチバンド画像の最初のバンドが使用されます。

String
スナップ日付
(オプション)

入力多次元データセットの各年のスライスを識別する際に使用される日付。 スナップ日付と最も近い日付のスライスが使用されます。 このパラメーターは、入力データセットに年単位未満のデータが含まれている場合に必要です。

デフォルトは 06-30 (暦年のほぼ中間の 6 月 30 日) です。

String
最大セグメント数
(オプション)

各ピクセルの時系列に適合させるセグメントの最大数を指定します。 デフォルトは 5 です。

Long
頂点数オーバーシュート閾値
(オプション)

頂点を識別する初期段階でモデルを適合させるために使用できる、max_num_segments + 1 を超える追加の頂点数。 モデリング プロセスの後半では、追加の頂点数は max_num_segments + 1 に削減されます。 デフォルトは 2 です。

Long
スパイク閾値
(オプション)

ピクセル値の軌道のスパイクや異常値を減衰させるために使用する閾値。 値の範囲は 0 ~ 1 で、1 の場合は減衰させません。 デフォルトは 0.9 です。

Double
回復閾値
(オプション)

年単位の回復閾値。 1/recovery threshold よりも速い回復率を持つセグメントがある場合、そのセグメントは破棄され、時系列モデルには含まれません。 指定する値は、0 ~ 1 の間の値でなければなりません。 デフォルトは 0.25 です。

Double
1 年での回復を防ぐ
(オプション)

1 年での回復を示すセグメントを除外するかどうかを指定します。

  • オン - 1 年での回復を示すセグメントを除外します。 これがデフォルトです。
  • オフ - 1 年での回復を示すセグメントを除外しません。

Boolean
回復が増加傾向
(オプション)

回復が増加傾向 (正の傾向) にあるかどうかを指定します。

  • オン - 回復が増加傾向にあります。 これがデフォルトです。
  • オフ - 回復が減少傾向にあります。

Boolean
最小観測数
(オプション)

適合の実行に必要とする、有効な観測データの最小数。 入力多次元データセットの年数は、この値以上である必要があります。 デフォルトは 6 です。

Long
ベスト モデル比率
(オプション)

ベスト モデルの比率値。 モデル選択プロセスでは、ツールは各モデルの p 値を計算し、この比率値に基づいて最小の (最も有意な) p 値を維持しながら、最も多くの頂点を含むモデルを特定します。 値が 1 の場合、モデルの p 値は最小になるものの、含まれる頂点の数が多くない可能性があります。 デフォルトは 1.25 です。

Double
p 値閾値

選択するモデルの p 値の閾値。 モデル適合の初期段階で頂点が検出された後、ツールは各セグメントを適合させ、p 値を計算して、モデルの有意性を決定します。 次の反復では、モデルはセグメント数を 1 つ減らして、p 値を再計算します。 この処理を継続し、p 値がこのパラメーターで指定した値よりも小さくなった場合にモデルが選択され、ツールは最適なモデルの探索を停止します。 この処理でモデルが選択されなかった場合、ツールは lowest p-value × best model proportion value よりも小さい p 値を持つモデルを選択します。 デフォルトは 0.01 です。

Double
他のバンドを含める
(オプション)

他のバンドを結果に含めるかどうかを指定します。

  • オン - 他のバンドを結果に含めます。 [処理バンド] パラメーターで指定した初期のセグメンテーション バンドのセグメンテーション情報と頂点情報は、マルチバンド画像の残りのバンドにも適合されます。 モデルの結果には、最初にセグメンテーション バンドが含まれ、次に残りのバンドが含まれます。
  • オフ - 他のバンドは結果に含められません。 これがデフォルトです。

Boolean

戻り値

ラベル説明データ タイプ
出力多次元ラスター

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

LandTrendr 解析のモデル情報を含む出力変更解析ラスター。

Raster

AnalyzeChangesUsingLandTrendr(in_multidimensional_raster, {processing_band}, {snapping_date}, {max_num_segments}, {vertex_count_overshoot}, {spike_threshold}, {recovery_threshold}, {prevent_one_year_recovery}, {recovery_trend}, {min_num_observations}, {best_model_proportion}, pvalue_threshold, {output_other_bands})
名前説明データ タイプ
in_multidimensional_raster

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

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
processing_band
(オプション)

経時的なピクセル値の軌道をセグメント化する際に使用する画像バンド名。 観測対象フィーチャの変化を最もよく捉えたバンド名を選択します。

バンド値が指定されておらず、入力がマルチバンド画像の場合は、マルチバンド画像の最初のバンドが使用されます。

String
snapping_date
(オプション)

入力多次元データセットの各年のスライスを識別する際に使用される日付。 スナップ日付と最も近い日付のスライスが使用されます。 このパラメーターは、入力データセットに年単位未満のデータが含まれている場合に必要です。

デフォルトは 06-30 (暦年のほぼ中間の 6 月 30 日) です。

String
max_num_segments
(オプション)

各ピクセルの時系列に適合させるセグメントの最大数を指定します。 デフォルトは 5 です。

Long
vertex_count_overshoot
(オプション)

頂点を識別する初期段階でモデルを適合させるために使用できる、max_num_segments + 1 を超える追加の頂点数。 モデリング プロセスの後半では、追加の頂点数は max_num_segments + 1 に削減されます。 デフォルトは 2 です。

Long
spike_threshold
(オプション)

ピクセル値の軌道のスパイクや異常値を減衰させるために使用する閾値。 値の範囲は 0 ~ 1 で、1 の場合は減衰させません。 デフォルトは 0.9 です。

Double
recovery_threshold
(オプション)

年単位の回復閾値。 1/recovery threshold よりも速い回復率を持つセグメントがある場合、そのセグメントは破棄され、時系列モデルには含まれません。 指定する値は、0 ~ 1 の間の値でなければなりません。 デフォルトは 0.25 です。

Double
prevent_one_year_recovery
(オプション)

1 年での回復を示すセグメントを除外するかどうかを指定します。

  • ALLOW_ONE_YEAR_RECOVERY1 年での回復を示すセグメントを除外しません。
  • PREVENT_ONE_YEAR_RECOVERY1 年での回復を示すセグメントを除外します。 これがデフォルトです。
Boolean
recovery_trend
(オプション)

回復が増加傾向 (正の傾向) にあるかどうかを指定します。

  • INCREASING_TREND回復が増加傾向にあります。 これがデフォルトです。
  • DECREASING_TREND回復が減少傾向にあります。
Boolean
min_num_observations
(オプション)

適合の実行に必要とする、有効な観測データの最小数。 入力多次元データセットの年数は、この値以上である必要があります。 デフォルトは 6 です。

Long
best_model_proportion
(オプション)

ベスト モデルの比率値。 モデル選択プロセスでは、ツールは各モデルの p 値を計算し、この比率値に基づいて最小の (最も有意な) p 値を維持しながら、最も多くの頂点を含むモデルを特定します。 値が 1 の場合、モデルの p 値は最小になるものの、含まれる頂点の数が多くない可能性があります。 デフォルトは 1.25 です。

Double
pvalue_threshold

選択するモデルの p 値の閾値。 モデル適合の初期段階で頂点が検出された後、ツールは各セグメントを適合させ、p 値を計算して、モデルの有意性を決定します。 次の反復では、モデルはセグメント数を 1 つ減らして、p 値を再計算します。 この処理を継続し、p 値がこのパラメーターで指定した値よりも小さくなった場合にモデルが選択され、ツールは最適なモデルの探索を停止します。 この処理でモデルが選択されなかった場合、ツールは lowest p-value × best model proportion value よりも小さい p 値を持つモデルを選択します。 デフォルトは 0.01 です。

Double
output_other_bands
(オプション)

他のバンドをセグメンテーション処理に含めるかどうかを指定します。

  • INCLUDE_OTHER_BANDS他のバンドを含めます。 processing_band パラメーターで指定した初期のセグメンテーション バンドのセグメンテーション情報と頂点情報は、マルチバンド画像の残りのバンドにも適合されます。 モデルの結果には、最初にセグメンテーション バンドが含まれ、次に残りのバンドが含まれます。
  • EXCLUDE_OTHER_BANDS他のバンドを含めません。 これがデフォルトです。
Boolean

戻り値

名前説明データ タイプ
out_multidimensional_raster

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

LandTrendr 解析のモデル情報を含む出力変更解析ラスター。

Raster

コードのサンプル

AnalyzeChangesUsingLandTrendr (LandTrendr を使用した変化の解析) の例 1 (Python ウィンドウ)

この例では、NDVI データの時系列データに対して変化を検出する LandTrendr アルゴリズムを実行します。

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

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


changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingLandTrendr(
	"Monthly_NDVI_30_years.crf","","",10,3,0.9,0.25, 'PREVENT_ONE_YEAR_RECOVERY', 
	'INCREASING_TREND',10,1.25,0.05, 'EXCLUDE_OTHER_BANDS')

# Save output
changeAnalysisRaster.save(r"C:\data\NDVI_ChangeAnalysis.crf")
AnalyzeChangesUsingLandTrendr (LandTrendr を使用した変化の解析) の例 2 (スタンドアロン スクリプト)

この例では、Landsat 画像の時系列データに対して連続的な変化の検出を実行します。

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

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

# Define input parameters
in_multidimensional = r"C:\data\Landsat_time_series.crf"
processing_band = "Band_4"
snapping_date = ""
max_num_segments = 10
vertex_count_overshoot = 3
spike_threshold = 0.9
recovery_threshold = 0.25
prevent_one_year_recovery = "PREVENT_ONE_YEAR_RECOVERY"
recovery_trend = "INCREASING_TREND"
min_num_observations = 6
best_model_proportion = 1.25
pvalue_threshold = 0.01
output_other_bands = "EXCLUDE_OTHER_BANDS"

# Execute
changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingCCDC(
	in_multidimensional, processing_band, snapping_date, max_num_segments,
	vertex_count_overshoot, spike_threshold, recovery_threshold, prevent_one_year_recovery,
	recovery_trend, min_num_observations, best_model_proportion, pvalue_threshold, output_other_bands)

# Save output
changeAnalysisRaster.save(r"C:\data\Landsat_ChangeAnalysis.crf")

関連トピック