Spatial Analyst のライセンスで利用可能。
サマリー
ラスター内のセルに対する集水域を決定します。
図
使用法
各集水域の値は、入力ラスターまたはフィーチャの流出点データのソースの値から取得されます。流出点がラスター データセットの場合、セル値が使用されます。流出点がポイント フィーチャ データセットの場合、値は指定されたフィールドから取得されます。
[集水域ラスターの作成 (Watershed)] ツールは、D8 タイプの入力流向ラスターにのみ対応しています。このラスターは、[流向ラスターの作成 (Flow Direction)] ツールでデフォルトの [D8] 流向タイプ (Python では D8 オプションを指定) を実行して作成できます。
良い結果を得るには、[流出点のスナップ (Snap Pour Point)] ツールを事前に使用して、累積流量の大きいセルへの流出点を特定します。
入力の流出点の位置をフィーチャ データとして指定する場合、デフォルトのフィールドは有効な最初のフィールドになります。他に有効なフィールドが存在しない場合は、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
このツールは、並列処理をサポートしています。お使いのコンピューターに、複数のプロセッサや、複数のコアを持つプロセッサが搭載されている場合は、特に対象となるデータセットが大きいときにパフォーマンスが向上します。「Spatial Analyst による並列処理」ヘルプ トピックには、この機能と設定方法の詳細が記載されています。
並列処理を使用する場合、処理中のデータ チャンクを処理するために一時データが書き込まれます。デフォルトの一時フォルダーの場所は、ローカルの C ドライブ上です。このフォルダーの場所は、TempFolders という名前のシステム環境変数を設定し、使用するフォルダーへのパスを指定することで変更できます (例: E:\RasterCache)。コンピューター上で管理権限を持っている場合は、レジストリ キー (例: [HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.6\Raster]) を使用することもできます。
デフォルトでは、このツールは使用可能なコアの 50% を使うようになっています。入力データのサイズが 5,000 セル x 5,000 セルよりも小さい場合、使用されるコア数はそれよりも少なくなります。並列処理ファクター環境で、ツールが使用するコアの数を制御できます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
Watershed (in_flow_direction_raster, in_pour_point_data, {pour_point_field})
パラメーター | 説明 | データ タイプ |
in_flow_direction_raster | 各セルからの流れの方向を示す入力ラスター。 流向ラスターは、[流向ラスターの作成 (Flow Direction)] ツールでデフォルトの D8 流向タイプを実行して作成できます。 | Raster Layer |
in_pour_point_data | 入力流出点の位置。 ラスターの場合、これは流出寄与域または集水域を判別するセルを表します。NoData でないすべてのセルがソース セルとして使用されます。 ポイント フィーチャ データセットの場合、これは流出寄与域または集水域を判別する位置を表します。 | Raster Layer; Feature Layer |
pour_point_field (オプション) | 流出点の位置に値を割り当てるために使用するフィールド。 流出点データセットがラスターの場合は、Value フィールドを使用します。 流出点データセットがフィーチャの場合は、数値フィールドを使用します。フィールドが浮動小数点値を含む場合は、切り捨てられて整数値に変換されます。 | Field |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 流出寄与域を示す出力ラスター。 出力は整数型になります。 | Raster |
コードのサンプル
Watershed (集水域ラスターの作成) の例 1 (Python ウィンドウ)
次の例では、流向 Grid ラスター上にある選択した流出点の位置に対する流出寄与域を判別しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outWatershed = Watershed("flowdir", "pourpoint")
outWatershed.save("C:/sapyexamples/output/outwtrshd01")
Watershed (集水域ラスターの作成) の例 2 (スタンドアロン スクリプト)
次の例では、流向 Grid ラスター上にある選択した流出点の位置に対する流出寄与域を判別し、集水域を TIFF ラスターとして出力しています。
# Name: Watershed_Ex_02.py
# Description: Determines the contributing area above a set of cells in a
# raster.
# 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
inFlowDirection = "flowdir"
inPourPointData = "pourpoint"
inPourPointField = "VALUE"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Watershed
outWatershed = Watershed(inFlowDirection, inPourPointData, inPourPointField)
# Save the output
outWatershed.save("C:/sapyexamples/output/outwtrshd02.tif")
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Advanced: 次のものが必要 Spatial Analyst