河川をラスターとして生成 (Derive Stream As Raster) (Spatial Analyst)

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

サマリー

事前にシンクや窪地を平滑化する必要なしで入力サーフェス ラスターから河川ラスターを生成します。

使用法

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

  • [出力河川ラスター] パラメーターの値は、累積流量がオプションの [累積の閾値] (Python では accumulation_threshold) パラメーターに指定された累積流量の閾値以上のセルを表します。 [累積の閾値] の値を指定した場合、このツールでは、デフォルトで入力サーフェス ラスター サイズ (セルの合計数の 0.2 パーセント) を基準にしてエリア閾値が計算されます。 河川を取得するために内部で算出された流向と累積流量は出力されません。 [連続フローの作成 (Derive Continuous Flow)] ツールを使用すると、同じ手法で累積流量ラスターと流向ラスターを取得できます。

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

  • [入力累積加重ラスター] (Python では in_weight_raster) の値を指定すると、累積の導出時に各セルに加重を適用できます。これは中間ステップです。 加重ラスターを適用する場合、[累積の閾値] (Python では accumulation_threshold) に適切な累積流量の閾値を選択します。

  • [入力ラスターまたはフィーチャ窪地データ] パラメーター、[入力累積加重ラスター] パラメーター、または環境設定を適用するためのデータを使用した場合は、入力データの共通領域に基づいてデフォルトの [累積の閾値] が再計算されます。 ただし、[累積の閾値] の値を指定すると、入力選択の変更に合わせて値が再計算されなくなります。 [入力サーフェス ラスター] をバッチ パラメーターとして使用して、このツールをバッチ処理で実行した場合にも、同じ状況が発生することがあります。この場合、[累積の閾値] は最初の入力データに基づいて計算され、他のラスター レイヤーがバッチ処理されても変更されません。

  • 分析範囲内のテレインの複雑度を反映する、または選択した集水域のサイズに一致する [累積の閾値] (Python では accumulation_threshold) の値を指定します。 たとえば、閾値が 20 ヘクタールの場合、上流方向のフローが 20 ヘクタール以上のセルだけが河川ラスターを定義します。

  • 交点間の河川セクションの個別値または順序を割り当てるには、[河川指定方法] パラメーターを使用します。 [定数] オプションはデフォルトで設定され、すべての河川に同じ値 1 が割り当てられます。 [個別値] を選択すると、交点間の各河川セクションに個別値が割り当てられます。 その他の順序付け方法には、[Strahler][Shreve]、および [Hack] (Strahler (1957)、Shreve (1966)、Hack (1957)) があります。 同じ次数を持つ河川が交差すると河川の Strahler 次数が増加します。 Strahler 次数は、強度に基づいて河川に次数を割り当てます。 支流のないすべてのリンクに、1 という等級 (次数) が割り当てられます。 等級は、下り方向で加算されます。 2 つのリンクが交差する場合、その等級が加算され、下り方向のリンクに割り当てられます。 流出先の河川の次数を基準にして、河川の Strahler 次数が 1 つ増えます。 主流の河川には 1 の強度が割り当てられ、そこに流出するすべての河川には 2 などが割り当てられます。

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

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

    This will affect the direction of flow at the edge of the surface raster, as well as the accumulation and ultimately the definition of streams.
  • 出力ラスターの形式が .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.

    • Hack, J. T. 1957. "Studies of Longitudinal Stream Profiles in Virginia and Maryland." Geological Survey Professional Paper 294: 45-95.

    • 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.

    • Shreve, R. 1966. "Statistical Law of Stream Numbers" Journal of Geology.74: 17-35

    • Strahler, A. N. 1957. "Quantitative analysis of watershed geomorphology" Transactions of the American Geophysical Union8 (6): 913-920

パラメーター

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

入力サーフェス ラスター。

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

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

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

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

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

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

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

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

Raster Layer
累積の閾値
(オプション)

合計面積について特定のセルがそのセルに流れ込む河川に含まれるかどうかを決定する閾値。

Areal Unit
河川指定方法
(オプション)

出力内での河川の個別値または次数を指定します。

  • 定数出力セル値はいずれも 1 になります。 これがデフォルトです。
  • 一意の値出力の交点間で河川ごとに一意の ID が割り当てられます。
  • Strahler同じ次数を持つ河川が交差した場合にのみ河川の次数が増加する Strahler 法が使用されます。 1 番目と 2 番目のリンクが交差しても、3 番目のリンクは作成されず、2 番目のリンクが残ります。
  • Shreve河川の次数が等級別に割り当てられる Shreve 法が使用されます。 支流のないすべてのリンクに、1 という等級 (次数) が割り当てられます。 等級は、下り方向で加算されます。 2 つのリンクが交差する場合、その等級が加算され、下り方向のリンクに割り当てられます。
  • Hack各河川セグメントに流出先の河川よりも大きい次数が割り当てられる Hack 法が使用されます。 たとえば、主流の河川に次数 1 が割り当てられ、その河川に流出するすべての河川セグメントに次数 2 が割り当てられ、次数 2 の河川に流出するすべての河川セグメントに次数 3 が割り当てられ、以下同様に続きます。
String
エッジにあるセルはすべて外側に流出
(オプション)

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

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

戻り値

ラベル説明データ タイプ
出力河川ラスター

河川の場所を表す出力ラスター。

Raster

DeriveStreamAsRaster(in_surface_raster, {in_depressions_data}, {in_weight_raster}, {accumulation_threshold}, {stream_designation_method}, {force_flow})
名前説明データ タイプ
in_surface_raster

入力サーフェス ラスター。

Raster Layer
in_depressions_data
(オプション)

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

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

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

Composite Geodataset
in_weight_raster
(オプション)

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

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

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

Raster Layer
accumulation_threshold
(オプション)

合計面積について特定のセルがそのセルに流れ込む河川に含まれるかどうかを決定する閾値。

Areal Unit
stream_designation_method
(オプション)

出力内での河川の個別値または次数を指定します。

  • CONSTANT出力セル値はいずれも 1 になります。 これがデフォルトです。
  • UNIQUE出力の交点間で河川ごとに一意の ID が割り当てられます。
  • STRAHLER同じ次数を持つ河川が交差した場合にのみ河川の次数が増加する Strahler 法が使用されます。 1 番目と 2 番目のリンクが交差しても、3 番目のリンクは作成されず、2 番目のリンクが残ります。
  • SHREVE河川の次数が等級別に割り当てられる Shreve 法が使用されます。 支流のないすべてのリンクに、1 という等級 (次数) が割り当てられます。 等級は、下り方向で加算されます。 2 つのリンクが交差する場合、その等級が加算され、下り方向のリンクに割り当てられます。
  • HACK各河川セグメントに流出先の河川よりも大きい次数が割り当てられる Hack 法が使用されます。 たとえば、主流の河川に次数 1 が割り当てられ、その河川に流出するすべての河川セグメントに次数 2 が割り当てられ、次数 2 の河川に流出するすべての河川セグメントに次数 3 が割り当てられ、以下同様に続きます。
String
force_flow
(オプション)

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

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

戻り値

名前説明データ タイプ
out_stream_raster

河川の場所を表す出力ラスター。

Raster

コードのサンプル

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

この例では、特定されたすべての河川に定数値 1 が割り当てられる河川ラスターを作成します。

from arcpy.sa import *
out_stream_raster = DeriveStreamAsRaster("surface.tif", "", "", "", 
                                        "", "")
out_stream_raster.save("C:/arcpyExamples/outputs/out_stream_raster.tif")
DeriveStreamAsRaster の例 2 (スタンドアロン スクリプト)

この例では、実際の窪地を考慮して、面積が 2 ヘクタールを超える集水域が河川の始点になる河川ラスターを作成します。

出力河川ラスターの交点間の各セグメントにも個別値が割り当てられます。

# Name: DeriveStreamAsRaster_standalone.py
# Description: Generates a stream raster considering real depressions where 
#              streams start from locations with catchment areas larger than 2 Hectares.
# 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"
stream_raster = "C:/arcpyExamples/outputs/stream_raster.tif"

# Execute DeriveStreamAsRaster
out_stream_raster = DeriveStreamAsRaster(in_surface_raster, in_depressions_data, 
                                        "", "2 Hectares", "UNIQUE", "")
# Save the output
out_stream_raster.save(stream_raster)

関連トピック