流向ラスタの作成(Flow Direction) (Spatial Analyst)
図
使用法
-
[流向ラスタの作成(Flow Direction)] ツールの出力は、1 ~ 255 の値を持つ整数ラスタです。中心からのそれぞれの方向の値は、次のようになります。
たとえば、降下傾斜が最も急な方向がある処理セルの左側である場合、フロー方向は 16 とコード化されます。
-
あるセルが 8 つの近傍セルより低い場合、そのセルには近傍セルの最低値が与えられ、フローはこのセルの方向に定義されます。複数の近傍セルが最低値を持つ場合、セルにはこの値が与えられますが、フローは以下で説明する 2 つの方法のいずれかを使用して定義されます。これは、1 セルの窪地をフィルタするために使用され、ノイズと見なされます。
-
セルが複数の方向で同じ Z 値の変化を持ち、そのセルが窪地の一部である場合、フロー方向は未定義と見なされます。このような場合、出力流向ラスタのセルの値は、それらの方向の合計となります。たとえば、Z 値の変化が右(フロー方向 = 1)と下(フロー方向 = 4)で同じ場合、そのセルのフロー方向は 1 + 4 = 5 になります。未定義のフロー方向を持つセルは、[窪地の抽出(Sink)] ツールを使用して、窪地としてフラグを付けることができます。
-
セルが複数の方向で同じ Z 値の変化を持ち、窪地の一部でない場合、フロー方向は可能性が最も高い方向を定義するルックアップ テーブルを使用して割り当てられます。「Greenlee(1987)」をご参照ください。
-
出力降下率ラスタは、Z 値の差をセルの中心間のパス長で除算したもので、パーセンテージで表されます。隣接セルの場合、これは、セル間の傾斜角(パーセント)に似ています。平らな エリアでは、距離は標高が低い最も近いセルまでの距離になります。結果は、各セルからの降下傾斜が最も急激なパスのパーセント高低差のマップになります。
フラット エリアの降下率ラスタを算出する場合、対角の近傍セルへの距離(1.414 * セル サイズ)は、整数計算にして処理速度を上げるために、1.5 * セル サイズに近似されます。
-
Normal オプションを使用する場合、サーフェス ラスタのエッジにあるセルは、Z 値の降下傾斜が最も大きい内側のセルに流れます。降下がゼロ以下の場合、セルはサーフェス ラスタの外に流れ出ます。
構文
パラメータ | 説明 | データ タイプ |
in_surface_raster |
連続サーフェスを表す入力ラスタ。 | Raster Layer |
force_flow (オプション) |
エッジ セルが常に外向きに流れるか、通常のフロー規則に従うかを指定します。
| Boolean |
out_drop_raster (オプション) |
オプションの出力降下率ラスタ。 降下率ラスタは、フロー方向の各セルの標高の最大変化と、セルの中心間のパス長の比率をパーセントで表したものです。 | Raster Dataset |
リターン
名前 | 説明 | データ タイプ |
out_flow_direction_raster |
各セルから最も急な降下傾斜となる近傍セルへのフロー方向を示す出力ラスタ | Raster |
コードのサンプル
次の例では、入力 GRID 標高サーフェス ラスタから、流向ラスタを作成しています。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outFlowDirection = FlowDirection("elevation", "NORMAL") outFlowDirection.save("C:/sapyexamples/output/outflowdir01")
次の例では、入力 GRID 標高サーフェス ラスタから、流向ラスタを作成しています。
# Name: FlowDirection_Example.py # Description: Creates a raster of flow direction from each cell to its # steepest downslope neighbor. # Requirements: Spatial Analyst Extension # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inSurfaceRaster = "elevation" outDropRaster = "C:/sapyexamples/output/dropraster" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute FlowDirection outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster) # Save the output outFlowDirection.save("C:/sapyexamples/output/outflowdir02")