連続フローの作成 (Derive Continuous Flow) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

サマリー

事前にシンクや窪地を平滑化する必要なしで入力サーフェス ラスターから各セルへの累積する流量のラスターを生成します。

連続フローの作成の機能の詳細

使用法

  • 入力サーフェス ラスターには、事前のシンクの平滑化がないデジタル標高モデル (DEM) または水文学的に調整された DEM を使用できます。 このツールは、フローが終了する場合、陥没またはシンクとして機能するサーフェス ラスターのエラーによる影響を受けません。シンクまたは陥没の平滑化は必要ありません。

  • 傾斜が最小の上り方向の隣接セルの方向をたどって入力サーフェス ラスターを最適に移動することで、セルごとに流向と累積流量が取得されます (Metz et al., 2011; Ehlschlaeger, 1989)。

  • [出力累積流量ラスター] (Python では out_accumulation_raster) の値は一次出力になります。 この値は、各セルの累積流量を表すラスターであり、各セルに流れ込むすべてのセルの加重を累計して求められます。 処理セル自体は、この累積に考慮されません。

  • 流向ラスターの出力を保存するには、[出力流向ラスター] (Python では out_flow_direction_raster) の値を指定します。 このラスターは流向を表します。

  • [入力累積加重ラスター] (Python では in_weight_raster) の値を指定すると、累積流量の導出時に各セルに加重を適用できます。

  • 入力サーフェス ラスターがサーフェス ラスター内にある実際の陥没を含む場合、その陥没を [入力ラスターまたはフィーチャ陥没データ] (Python では in_depressions_data) で指定し、水が流入するが外側に流出しないセルを考慮に入れる必要があります。 窪地エリアの情報は、ラスターまたはフィーチャクラスです。 フィーチャクラスは、ポイント、ポリライン、またはポリゴンです。

  • [連続フローの作成 (Derive Continuous Flow)] ツールでは、D8 および MFD (Multiple Flow Direction) 流向モデリング アルゴリズムを使用できます。

    • [流向タイプ] (Python では flow_direction_type) で [D8] オプションを指定した場合、流向は最も傾斜が急な下り方向の一方向になります。 最大降下傾斜は、Z 値の差をセルの中心間の流路の長さで除算して求めます (基数セルの場合は 1、対角線セルの場合は 2 の平方根) (Jenson and Domingue, 1988)。 出力ラスターは 1 ~ 255 の整数値しか取りません。 それぞれの方向の中心からの値を次の図に示します。

      流向ラスターの値

      1 つのセルに複数の方向で同じ Z 値の変化がある場合は、D8 の流向が不明瞭になります。 この場合、出力流向ラスターでこれらのセルの値は、考えられる方向の合計値になります。

    • [流向タイプ][MFD] オプションを指定した場合は、傾斜方向が下りのすべての隣接セルで流量が分割されます。 各隣接セルでの流量の分割 (流量の割合として) は最大傾斜勾配を基準に推定され、現地の地形状況が考慮されます (Qin et al., 2007)。 出力流向ラスターでは、わかりやすくするために、主要な流向 (分割スキーマに従って流量の割合が最も高いセルへの方向) を示す整数値だけが使用されます。 ただし、[出力累積流量ラスター] パラメーターの値には、流量分割スキーマが反映されます。

  • [エッジにあるセルはすべて外側に流出] パラメーターをデフォルトのオフ (Python では force_flow = "NORMAL") の設定にした場合、サーフェス ラスターのエッジにあるセルは、Z 値の降下率が最も高く、セルの内部に向かって流れます。 降下がゼロ以下の場合、セルはサーフェス ラスターの外に流れ出ます。

  • NoData はノイズと見なされ、定義上、関連付けられた値がありません。 ツールは、最小勾配の上り近傍の方向を識別するとき、およびフロー方向と累積流量の特定でこれらのセルを無視します。

  • 出力ラスターの形式が .crf の場合、このツールはピラミッド ラスター格納環境をサポートします。 デフォルトでは、ピラミッドは出力で作成されます。 その他の出力形式ではこの環境はサポートされず、ピラミッドは作成されません。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

  • 参考文献:

    Ehlschlaeger, C. R. 1989. "Using the AT Search Algorithm to Develop Hydrologic Models from Digital Elevation Data." International Geographic Information Systems (IGIS) Symposium 89: 275-281.

    Jenson, S. K., and Domingue, J. O. 1988. "Extracting Topographic Structure from Digital Elevation Data for Geographic Information System Analysis." Photogrammetric Engineering and Remote Sensing 54 (11): 1593-1600.

    Metz, M., Mitasova, H., & Harmon, R. S. 2011. "Efficient extraction of drainage networks from massive, radar-based elevation models with least cost path search." Hydrology and Earth System Sciences 15(2): 667-678.

    Qin, C., Zhu, A. X., Pei, T., Li, B., Zhou, C., & Yang, L. 2007. "An adaptive approach to selecting a flow partition exponent for a multiple flow direction algorithm." International Journal of Geographical Information Science 21(4): 443-458.

パラメーター

ラベル説明データ タイプ
入力サーフェス ラスター

連続サーフェスを表す入力ラスター。

Raster Layer
入力ラスターまたはフィーチャ陥没データ
(オプション)

実際の陥没を定義するオプションのデータセット。

陥没は、ラスターまたはフィーチャ レイヤーを使用して定義できます。

入力がラスターの場合、陥没セルは有効な値 (0 を含む) を取る必要があり、陥没以外のエリアは NoData である必要があります。

Composite Geodataset
入力累積加重ラスター
(オプション)

各セルの累積流量に寄与するフローの比率を定義するオプションの入力ラスター データセット。

加重は累積流量にのみ適用されます。

累積加重ラスターが指定されていない場合、デフォルトの加重 1 が各セルに適用されます。

Raster Layer
出力流向ラスター
(オプション)

D8 または多重流向 (MFD) 法を使用し、各セルでの流向を示す出力ラスター。

出力のタイプは整数です。

Raster Dataset
流向タイプ
(オプション)

流向の計算時に使用される、フロー方法のタイプを指定します。

  • D8フロー方向は、D8 法によって決定されます。 この方法では、最も急な傾斜となる近傍ピクセルに流向が割り当てられます。 これがデフォルトです。
  • MFDフロー方向は、MFD 法に基づきます。 フロー方向は、適応可能な配分指数に応じて降下傾斜となる近傍全体に分割されます。
String
エッジにあるセルはすべて外側に流出
(オプション)

エッジ セルが常に外向きに流れるか、通常のフロー規則に従うかを指定します。

  • オフ - エッジ セル内部の最大降下がゼロより大きい場合、フロー方向は通常どおりと判定されます。それ以外の場合、フロー方向はエッジ方向になります。 内側に流れるべきセルは、内側に流れます。 これがデフォルトです。
  • オン - サーフェス ラスターのエッジにあるすべてのセルが、サーフェス ラスターから外側に流れます。
Boolean

戻り値

ラベル説明データ タイプ
出力累積流量ラスター

累積流量を表す出力ラスター (各セルに流出する上流セルの数)

出力ラスターのタイプは浮動小数点数です。

Raster

DeriveContinuousFlow(in_surface_raster, {in_depressions_data}, {in_weight_raster}, {out_flow_direction_raster}, {flow_direction_type}, {force_flow})
名前説明データ タイプ
in_surface_raster

連続サーフェスを表す入力ラスター。

Raster Layer
in_depressions_data
(オプション)

実際の陥没を定義するオプションのデータセット。

陥没は、ラスターまたはフィーチャ レイヤーを使用して定義できます。

入力がラスターの場合、陥没セルは有効な値 (0 を含む) を取る必要があり、陥没以外のエリアは NoData である必要があります。

Composite Geodataset
in_weight_raster
(オプション)

各セルの累積流量に寄与するフローの比率を定義するオプションの入力ラスター データセット。

加重は累積流量にのみ適用されます。

累積加重ラスターが指定されていない場合、デフォルトの加重 1 が各セルに適用されます。

Raster Layer
out_flow_direction_raster
(オプション)

D8 または多重流向 (MFD) 法を使用し、各セルでの流向を示す出力ラスター。

出力のタイプは整数です。

Raster Dataset
flow_direction_type
(オプション)

流向の計算時に使用される、フロー方法のタイプを指定します。

  • D8フロー方向は、D8 法によって決定されます。 この方法では、最も急な傾斜となる近傍ピクセルに流向が割り当てられます。 これがデフォルトです。
  • MFDフロー方向は、MFD 法に基づきます。 フロー方向は、適応可能な配分指数に応じて降下傾斜となる近傍全体に分割されます。
String
force_flow
(オプション)

エッジ セルが常に外向きに流れるか、通常のフロー規則に従うかを指定します。

  • NORMALエッジ セルの内部の最大降下がゼロより大きい場合、通常のフロー規則に従って判定されます。それ以外の場合、フロー方向はエッジ方向になります。 内側に流れるべきセルは、内側に流れます。 これがデフォルトです。
  • FORCEサーフェス ラスターのエッジにあるすべてのセルが、サーフェス ラスターから外側に流れます。
Boolean

戻り値

名前説明データ タイプ
out_accumulation_raster

累積流量を表す出力ラスター (各セルに流出する上流セルの数)

出力ラスターのタイプは浮動小数点数です。

Raster

コードのサンプル

DeriveContinuousFlow の例 1 (Python ウィンドウ)

次の例では、入力サーフェス ラスターから累積流量ラスターを作成しています。

from arcpy.sa import *
out_derivecontinuousflow_raster = DeriveContinuousFlow("surface.tif", "", "",
                                 "", "", "")
out_derivecontinuousflow_raster.save("C:/arcpyExamples/outputs/out_facc.tif")
DeriveContinuousFlow の例 2 (スタンドアロン ウィンドウ)

次の例では、実際の窪地を考慮して、入力サーフェス ラスターから累積流量ラスターを作成しています。

# Name: DeriveContinuousFlow_standalone.py
# Description: Generates a flow accumulation raster considering real depressions
#              specified through a raster dataset.
# Requirements: Spatial Analyst Extension

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

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

# Set the analysis environments
arcpy.env.workspace = "C:/arcpyExamples/data"

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.tif"

# Execute DeriveContinuousFlow
out_derivecontinuousflow_raster = DeriveContinuousFlow(in_surface_raster, in_depressions_data,
                                 "", "", "", "")

# Save the output
out_derivecontinuousflow_raster.save("C:/arcpyExamples/outputs/out_facc.tif")

関連トピック