サーフェスの平滑化(Fill) (Spatial Analyst)
使用法
-
窪地とは、排水方向が定義されないセルです。窪地のセルより低いセルは、周囲にありません。流出点は、窪地の流出寄与域の標高が最も低い境界セルです。窪地が浸水した場合、ここが水の流出するポイントになります。
-
Z 制限には、平滑化する窪地の最大深さを指定します。Z 制限は、窪地の平滑化に使用する深さの最大値ではありません。Z 制限は、ゼロより大きくなければなりません。
-
Z 制限より小さく(浅く)、隣接する最も低いセルより低い窪地はすべて流出点の高さまで平滑化されます。
-
[サーフェスの平滑化(Fill)] は反復処理であるため、CPU とディスクに負荷がかかります。入力ラスタと比較して、最大で 4 倍のディスク容量が必要になる場合があります。
-
Z 制限を持つ窪地の数は、処理時間の長さを決定します。窪地が多いほど処理時間が長くなります。
-
[窪地の抽出(Sink)] ツールを使用すると、窪地の数とその深さがわかります。窪地の深さがわかると、[サーフェスの平滑化(Fill)] に対して適切な Z 制限の値を決定しやすくなります。
-
[サーフェスの平滑化(Fill)] を使用して、ピークを取り除くこともできます。ピークとは、隣接するどのセルよりも高いセルです。ピークを取り除くには、入力サーフェス ラスタを反転する必要があります。これには、[Minus] ツールを使用します。[Minus] の最初の入力としてサーフェス ラスタの最高値、2 番目の入力としてサーフェス ラスタを指定します。そして、[サーフェスの平滑化(Fill)] を実行します。結果を反転すると、ピークが取り除かれた元のサーフェス ラスタ値を持つサーフェスが得られます。Z 制限は、このプロセスにも適用できます。Z 制限に何も指定されていない場合、すべてのピークが取り除かれます。Z 制限値が指定されていて、ピークと隣接する最も高いセルの Z 値の差が Z 制限より大きい場合、そのピークは取り除かれません。
構文
パラメータ | 説明 | データ タイプ |
in_surface_raster | 連続サーフェスを表す入力ラスタ。 | Raster Layer |
z_limit (オプション) | 平滑化される窪地と流出点間の最大標高差。 窪地と流出点の Z 値の差が Z 制限 より大きい場合、その窪地は平滑化されません。 デフォルトは、深さに関係なくすべての窪地が平滑化されます。 | Double |
リターン
名前 | 説明 | データ タイプ |
out_surface_raster |
窪地を平滑化した後の出力サーフェス ラスタ。 | Raster |
コードのサンプル
次の例では、入力標高サーフェス GRID ラスタの窪地を平滑化しています。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outFill = Fill("elevation") outFill.save("C:/sapyexamples/output/outfill01")
次の例では、入力標高サーフェス GRID ラスタの窪地を Z 制限を適用して平滑化しています。
# Name: Fill_Ex_02.py # Description: Fills sinks in a surface 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 inSurfaceRaster = "elevation" zLimit = 3.28 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute FlowDirection outFill = Fill(inSurfaceRaster, zLimit) # Save the output outFill.save("C:/sapyexamples/output/outfill02")