ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 合约
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

众数滤波

需要 Spatial Analyst 许可。

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

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

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

插图

Majority Filter illustration
OutRas = MajorityFilter(InRas1)

用法

  • 众数滤波工具需要满足两个条件才能发生替换。具有近似值的相邻像元数必须足够多(达到所有像元的半数及以上),并且这些像元在滤波器内核周围必须是连续的。第二个条件与像元的空间连通性有关,目的是将像元的空间模式的破坏程度降到最低。

  • 使用四个相邻像元数会保留矩形区域的拐角。使用八个相邻像元将使矩形区域的拐角变得平滑。

  • 将相邻像元数设置为八时,相邻的定义是共享一条边。将相邻像元数设置为四时,相邻的定义是共享一个角。

  • 如果将替换阈值设置为 HALF,并且两个值作为相等的部分出现,则当处理的像元值与其中某一半的值相同时将不会发生替换。HALF选项比 MAJORITY选项允许的过滤范围广泛。

  • 当边和角栅格像元的相邻条件相同时,它们会遵循不同的 MAJORITY和 HALF规则。使用的相邻像元数为四时,边或角像元始终要求存在两个匹配的相邻像元才能发生替换。使用八个相邻像元时,角像元在所有相邻像元均具有相同值时才能发生更改,而边像元需要三个相邻像元(包括边上的像元)具有相同值才发生更改。

  • 运行几次众数滤波后,输出栅格将会稳定下来(不再变化)。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。

语法

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

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

必须为整型。

Raster Layer
number_neighbors
(可选)

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

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

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

  • MAJORITY — 多数像元必须具有相同值并且相邻。四分之三或八分之五的已连接像元必须具有相同值。
  • 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")

环境

  • 自动提交
  • 像元大小
  • 压缩
  • 当前工作空间
  • 范围
  • 地理变换
  • 掩膜
  • 输出配置关键字
  • 输出坐标系
  • 范围
  • 栅格统计
  • 临时工作空间
  • 捕捉栅格
  • 切片大小

许可信息

  • ArcGIS for Desktop Basic: 需要 Spatial Analyst
  • ArcGIS for Desktop Standard: 需要 Spatial Analyst
  • ArcGIS for Desktop Advanced: 需要 Spatial Analyst

相关主题

  • 栅格综合工具集概述
  • 边界清理

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明