Spatial Analyst のライセンスで利用可能。
概要
指定した距離内で累積流量が最も大きいセルへ流出点をスナップします。
使用法
[流出点のスナップ (Snap Pour Point)] ツールを使用すると、[集水域ラスターの作成 (Watershed)] ツールを使用して流域を表すときに、累積流量の高いポイントを確実に選択できます。[流出点のスナップ (Snap Pour Point)] は、指定した流出点のスナップ距離内で累積流量が最も大きいセルを検索し、流出点をその位置に移動します。
入力の流出点データがポイント フィーチャクラスの場合、処理のために内部でラスターに変換されます。
元の流出点の位置が累積流量の大きい位置にスナップされる場合、出力は整数ラスターになります。
入力の流出点の位置が 1 つだけの場合、出力の範囲は累積ラスターの範囲となります。流出点の位置が複数ある場合、出力の範囲は、出力範囲環境の設定によって決まります。
入力の流出点の位置をフィーチャ データとして指定する場合、デフォルトのフィールドは有効な最初のフィールドになります。他に有効なフィールドが存在しない場合は、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
SnapPourPoint(in_pour_point_data, in_accumulation_raster, snap_distance, {pour_point_field})
パラメーター | 説明 | データ タイプ |
in_pour_point_data | スナップされる入力の流出点の位置。 ラスター入力の場合、NoData でない (値を持つ) すべてのセルは流出点と見なされ、スナップされます。 ポイント フィーチャ入力の場合は、スナップされるセルの位置を指定します。 | Raster Layer; Feature Layer |
in_accumulation_raster | 入力累積流量ラスター。 これは、[累積流量ラスターの作成 (Flow Accumulation)] ツールで作成できます。 | Raster Layer |
snap_distance | 累積流量の大きなセルを検索する最大距離 (マップ単位)。 | Double |
pour_point_field (オプション) | 流出点の位置に値を割り当てるために使用するフィールド。 流出点データセットがラスターの場合は、Value を使用します。 流出点データセットがフィーチャの場合は、数値フィールドを使用します。フィールドが浮動小数点値を含む場合は、切り捨てられて整数値に変換されます。 | Field |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 元の流出点の位置が累積流量の大きい位置にスナップされる、出力の流出点のラスター。 出力は整数型になります。 | Raster |
コードのサンプル
次の例では、指定した距離内で累積流量が最も大きいセルへの流出点をスナップしています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSnapPour = SnapPourPoint("pourpoint", "flowaccumulation.img", 5,"VALUE")
outSnapPour.save("c:/sapyexamples/output/outsnpprpnt01")
次の例では、指定した距離内で累積流量が最も大きいセルへの流出点をスナップしています。
# Name: SnapPourPoints_Ex_02.py
# Description: Snaps pour points to the cell of highest
# flow accumulation within a specified distance.
# 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
inPourPoint = "pourpoint"
inFlowAccum = "flowaccumulation.img"
tolerance = 5
pourField = "VALUE"
# Execute SnapPourPoints
outSnapPour = SnapPourPoint(inPourPoint, inFlowAccum, tolerance,
pourField)
# Save the output
outSnapPour.save("c:/sapyexamples/output/outsnpprpnt02")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst