众数滤波 (Spatial Analyst)

摘要

根据相邻像元数据值的众数替换栅格中的像元。

了解有关“众数滤波”工作原理的详细信息

插图

Majority Filter illustration
OutRas = MajorityFilter(InRas1)

用法

语法

MajorityFilter (in_raster, {number_neighbors}, {majority_definition})
参数说明数据类型
in_raster

要根据相邻像元数据值的众数进行过滤的输入栅格。

必须为整型。

Raster Layer
number_neighbors
(可选)

确定在滤波器核中使用的相邻像元数。

  • FOUR 滤波器内核将是与当前像元直接相邻(正交)的四个像元。这是默认设置。
  • EIGHT 过滤器内核将是距当前像元最近的八个相邻像元(3 × 3 窗口)。
String
majority_definition
(可选)

在进行替换之前指定必须具有相同值的相邻(空间连接)像元数。

  • MAJORITY 多数像元必须具有相同值并且相邻。四分之三或八分之五的已连接像元必须具有相同值。
  • HALF 半数像元必须具有相同值并且相邻。四分之二或八分之四的已连接像元必须具有相同值。使用 HALF 选项可获得更平滑的效果。
String

返回值

名称说明数据类型
out_raster

过滤后的输出栅格。

Raster

代码示例

MajorityFilter 示例 1(Python 窗口)

本例将使用全部八个相邻像元过滤输入栅格,并在替换时要求半数像元具有相同值,从而生成更加平滑的效果。

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(独立脚本)

本例将使用全部八个相邻像元过滤输入栅格,并在替换时要求半数像元具有相同值,从而生成更加平滑的效果。

# 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