概要
D8、D-Infinity (DINF)、または多重流向 (MFD) のいずれかの方法を使用し、各セルから降下傾斜となる近傍セルへの流向を計算します。
図
使用法
このラスター解析 ポータル ツールは、ArcGIS Enterprise の ポータルにサイン インすると使用できます。このポータルに、ArcGIS Image Server 用に構成された Raster Analysis があります。ツールを起動すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。
入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールの出力に対応しています。このツールは、ローカルのラスター データまたはレイヤーをサポートしません。
[流向ラスターの作成 (Flow Direction)] ツールでは、3 つの流向モデリング アルゴリズムがサポートされています。それが、D8、MFD (Multi Flow Direction)、および DINF (D-Infinity) です。
D8 流向法は、各セルから最も急な降下傾斜となる近傍セルへの流向をモデル化します。
D8 流向タイプで実行した [流向ラスターの作成 (Flow Direction)] ツールの出力は、1 ~ 255 の値を持つ整数ラスターです。中心からのそれぞれの方向の値は、次のようになります。
たとえば、降下傾斜が最も急な方向がある処理セルの左側である場合、フロー方向は 16 とコード化されます。
-
あるセルが 8 つの近傍セルより低い場合、そのセルには近傍セルの最低値が与えられ、フローはこのセルの方向に定義されます。複数の近傍セルが最低値を持つ場合、セルにはこの値が与えられますが、フローは以下で説明する 2 つの方法のいずれかを使用して定義されます。これは、1 セルの窪地 (シンク) をフィルターするために使用され、ノイズと見なされます。
-
セルが複数の方向で同じ Z 値の変化を持ち、そのセルが窪地 (シンク) の一部である場合、フロー方向は未定義と見なされます。このような場合、出力流向ラスターのセルの値は、それらの方向の合計となります。たとえば、Z 値の変化が右 (フロー方向 = 1) と下 (フロー方向 = 4) で同じ場合、そのセルのフロー方向は 1 + 4 = 5 になります。Spatial Analyst の [窪地の抽出 (Sink)] ツールを使用すると、流向が未定義のセルを窪地としてフラグを立てることができます。
セルが複数の方向で同じ Z 値の変化を持ち、窪地 (シンク) の一部でない場合、フロー方向は可能性が最も高い方向を定義するルックアップ テーブルを使用して割り当てられます。「Greenlee (1987) 」をご参照ください。
出力降下率ラスターは、Z 値の差をセルの中心間のパス長で除算したもので、パーセンテージで表されます。隣接セルの場合、これは、セル間の傾斜角 (パーセント) に似ています。平らなエリアでは、距離は標高が低い最も近いセルまでの距離になります。結果は、各セルからの降下傾斜が最も急激なパスのパーセント高低差のマップになります。
平らなエリアで降下率ラスターを計算する場合、対角線上の隣接セルへの距離 (1.41421 * cell size) は、性能を改善するために 1.4 * cell size で近似されます。
-
MFD (Multiple Flow Direction) アルゴリズムは、Qin 等 (2007) によって示されたもので、セルから降下傾斜となるすべての近傍セルへのフローを分割します。フローパーティション指数は、現地のテレインの状態に基づく適応アプローチによって作成され、降下傾斜となるすべての近傍セルに流出するフローの一部を特定するために使用されます。
MFD 流向出力は、マップに追加されると、D8 フロー方向だけを表示します。MFD 流向では、各セルに対して複数の値が関連付けられている可能性があるため (各値は、降下傾斜となる各近傍セルへのフローの割合に対応する)、簡単に視覚化できません。ただし、MFD 流向出力ラスターは [累積流量ラスターの作成 (Flow Accumulation)] ツールによって認識されている入力であり、各セルから降下傾斜となるすべての近傍セルへのフローの割合を配分し、累積するために MFD 流向を使用します。
D-Infinity (DINF) 法では、8 つの三角形ファセット上の最も急な傾斜となる流向を特定します (Tarboton, 1997 年)。このファセットは、対象となるセルの中心にある 3x3 セル ウィンドウとして決定されます。流向出力は、0 (真東) から 360 (真東) まで反時計回りの角度として表される、浮動小数点のラスターです。
[エッジにあるセルはすべて外側に流出] パラメーターをデフォルト値 (NORMAL)にした場合、サーフェス ラスターのエッジにあるセルは、Z 値の降下率が最も高く、セルの内部に向かって流れます。降下がゼロ以下の場合、セルはサーフェス ラスターの外に流れ出ます。
参考文献:
Greenlee, D. D. 1987. "Raster and Vector Processing for Scanned Linework." Photogrammetric Engineering and Remote Sensing 53 (10): 1383-1387.
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.
Tarboton, D. G. 1997. "A new method for the determination of flow directions and upslope areas in grid digital elevation models." Water Resources Research 33(2): 309-319.
構文
arcpy.ra.FlowDirection(inputSurfaceRaster, outputFlowDirectionName, {forceFlow}, {flowDirectionType}, outputDropName)
パラメーター | 説明 | データ タイプ |
inputSurfaceRaster | 連続サーフェスを表す入力ラスター。 | Raster Layer; Image Service; String |
outputFlowDirectionName | 出力流向ラスター サービスの名前。 デフォルトの名前は、ツール名と入力レイヤー名に基づいて設定されます。レイヤー名がすでに存在する場合は、別の名前を指定するよう求められます。 | String |
forceFlow (オプション) | 入力ラスター内の NoData 値が、マスク ラスターで定義されたエリアをニブルすることを許可するかどうかを定義するキーワード。
| Boolean |
flowDirectionType (オプション) | 流向の計算時に使用される、フロー方法のタイプを指定します。
| String |
outputDropName | 出力降下率ラスター サービスの名前。 デフォルトの名前は、ツール名と入力レイヤー名に基づいて設定されます。レイヤー名がすでに存在する場合は、別の名前を指定するよう求められます。 | String |
派生した出力
名前 | 説明 | データ タイプ |
outputFlowDirectionRaster | 出力流向ラスター。 | ラスター レイヤー |
outputDropRaster | 出力降下率ラスター。 | ラスター レイヤー |
コードのサンプル
次の例では、入力サーフェス ラスターから、流向ラスターを作成しています。
import arcpy
arcpy.FlowDirection_ra("https://myserver/rest/services/elevation/ImageServer","outD8FlowDir1")
次の例では、入力サーフェス ラスターから、流向ラスターを作成しています。
#---------------------------------------------------------------------------
# Name: FlowDirection_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSurface = "https://myserver/rest/services/elevation_filled/ImageServer"
outputFlowDirection = "outD8FlowDir2"
forceFlow = "NORMAL"
flowDirectionType = "D8"
# Execute Flow Direction raster analysis tool
arcpy.FlowDirection_ra(inSurface, outputFlowDirection, forceFlow, flowDirectionType)
環境
ライセンス情報
- Basic: 次のものが必要 ArcGIS Image Server
- Standard: 次のものが必要 ArcGIS Image Server
- Advanced: 次のものが必要 ArcGIS Image Server