境界のスムージング (Boundary Clean) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

概要

境界を拡大/縮小して、ゾーン間の境界を滑らかにします。

[境界のスムージング (Boundary Clean)] ツールの詳細

境界のスムージング (Boundary Clean) の図
OutRas = BoundaryClean(InRas1)

使用法

  • X、Y 方向にセルが 3 つ未満であるすべてのリージョンが変更されます。

  • 2 種類のスムージング処理が利用できます。これらは、拡張 - 縮小処理の実行回数が異なります。デフォルトでオンに設定されている [拡張と縮小を 2 度実行する] (Python では TWO_WAY) の設定の場合、入力セル値をスムージングする拡張 - 縮小処理が 2 回実行されます。このオプションが有効でない場合 (Python では ONE_WAY)、この処理は 1 回だけ実行されます。

    どちらの方法でも、ファースト パスでは、拡大されるラスター内で近傍が処理セルの元の値を持つ場合、処理セルの元の値が返されます。ただし、双方向オプションのセカンド パスにおける縮小処理では、同じ値を持つ 8 つのセルに完全に囲まれていない拡大されるラスター内のセルは、元の値を返します。

  • 拡大は、ファースト パスとセカンド パスで同じです。

  • NoData の入力セルは、一方向ソート タイプまたは双方向ソートのファースト パスにおいて、優先度が最低です。双方向ソートのセカンド パスでは、NoData のセルの優先度が最高になります。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

構文

BoundaryClean(in_raster, {sort_type}, {number_of_runs})
パラメーター説明データ タイプ
in_raster

ゾーン間の境界を滑らかにする入力ラスター。

整数タイプでなければいけません。

Raster Layer
sort_type
(オプション)

スムージング処理に使用するソートのタイプを指定します。

これは、セルを近傍に拡大する優先度を決定します。

  • NO_SORTサイズでソートしません。ゾーンの値が大きいほど、小さい値を持つゾーンに拡大する優先度が高くなります。これがデフォルトです。
  • DESCENDゾーンをサイズで降順にソートします。ゾーンの総面積が大きいほど、総面積が小さいゾーンに拡大する優先度が高くなります。
  • ASCENDゾーンをサイズで昇順にソートします。ゾーンの総面積が小さいほど、総面積が大きいゾーンに拡大する優先度が高くなります。
String
number_of_runs
(オプション)

スムージング処理を実行する際の方向の数を指定します。

  • TWO_WAY指定したソート タイプに従い拡大および縮小を実行してから、逆の優先度で縮小と拡大をさらに実行します。これがデフォルトです。
  • ONE_WAYソート タイプに従い、拡大と縮小を 1 回実行します。
Boolean

戻り値

名前説明データ タイプ
out_raster

ジェネラライズされた出力ラスター。

入力内のゾーン間の境界が滑らかになります。

出力は常に整数型になります。

Raster

コードのサンプル

BoundaryClean (境界のスムージング) の例 1 (Python ウィンドウ)

次の例では、ゾーン間の境界を、降順で双方向に実行して滑らかにしています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OutBndCln = BoundaryClean("land", "DESCEND", "TWO_WAY")
OutBndCln.save("c:/sapyexamples/output/bndcln_des2")
BoundaryClean (境界のスムージング) の例 2 (スタンドアロン スクリプト)

次の例では、ゾーン間の境界を、降順で双方向に実行して滑らかにしています。

# Name: BoundaryClean_Ex_02.py
# Description: Smoothes the boundary between zones 
#              by expanding and shrinking it.
# 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
inRaster = "land"

# Execute BoundaryClean
OutBndCln = BoundaryClean(inRaster, "ASCEND", "TWO_WAY")

# Save the output 
OutBndCln.save("c:/sapyexamples/output/bndcln_asc2")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック