流向ラスタの作成(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")