大多数フィルタ(Majority Filter) (Spatial Analyst)

サマリ

ラスタ内のセルを、隣接範囲内の最頻値セルに基づいて置換します。

[大多数フィルタ(Majority Filter)] ツールの仕組みの詳細

Majority Filter illustration
OutRas = MajorityFilter(InRas1)

使用法

構文

MajorityFilter (in_raster, {number_neighbors}, {majority_definition})
パラメータ説明データ タイプ
in_raster

隣接範囲内の最頻値セルに基づいてフィルタされる入力ラスタ。

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

Raster Layer
number_neighbors
(オプション)

フィルタのカーネルで使用する近傍セルの数を決定します。

  • FOUR フィルタのカーネルは、現在のセルに対して隣接する(直交する)4 つの近傍セルになります。これがデフォルトです。
  • EIGHT フィルタのカーネルは、現在のセルの直近の 8 つのセル(3 x 3 ウィンドウ)です。
String
majority_definition
(オプション)

置換を行うために、同じ値を持つ必要のある隣接(空間接続)セルの数を指定します。

  • MAJORITY セルの多数が同じ値を持ち、隣接している必要があります。4 つの中では 3 つ、8 つの中では 5 つの接続セルが同じ値を持つ必要があります。
  • HALF セルの半数が同じ値を持ち、隣接している必要があります。4 つの中では 2 つ、8 つの中では 4 つの接続セルが同じ値を持つ必要があります。[HALF] オプションの方が滑らかになります。
String

リターン

名前説明データ タイプ
out_raster

フィルタ処理後の出力ラスタ。

Raster

コードのサンプル

MajorityFilter(大多数フィルタ)の例 1(Python ウィンドウ)

次の例では、8 つの近傍セルすべてを使用して入力ラスタをフィルタリングしており、半数のセルが同じ値の場合に置換されるよう指定することで、より滑らかな結果を得ます。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMajFilt = MajorityFilter("land", "EIGHT", "HALF")
outMajFilt.save("c:/sapyexamples/output/outmajfilt")
MajorityFilter(大多数フィルタ)の例 2(スタンドアロン スクリプト)

次の例では、8 つの近傍セルすべてを使用して入力ラスタをフィルタリングしており、半数のセルが同じ値の場合に置換されるよう指定することで、より滑らかな結果を得ます。

# Name: MajorityFilter_Ex_02.py
# Description: Replaces cells in a raster based on the 
#              majority of their contiguous neighboring cells.
# 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"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute MajorityFilter
outMajFilt = MajorityFilter(inRaster, "EIGHT", "HALF")

# Save the output 
outMajFilt.save("c:/sapyexamples/output/majfilter")

環境

関連項目

ライセンス情報

ArcView: 必須 Spatial Analyst
ArcEditor: 必須 Spatial Analyst
ArcInfo: 必須 Spatial Analyst

7/10/2012