滤波器 (空间分析)

需要 Spatial Analyst 许可。

摘要

对栅格执行平滑(低通)滤波器或边缘增强(高通)滤波器。

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

使用情况

  • 低通滤波器选项(Python 中的 LOW)是平均(平滑)滤波器。 高通滤波器选项(Python 中的 HIGH)是边缘增强滤波器。

  • 假设滤波器邻域内至少有一个含有效值的像元,则选中在计算中忽略 NoData 选项(Python 中的 ignore_nodata 设置为 NODATA)时,NoData 输入像元可能会在输出中接收到一个值。

  • 可使用焦点统计工具创建符合规范的自定义滤波器。

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

参数

标注说明数据类型
输入栅格

要执行滤波运算的输入栅格。

Raster Layer
滤波器类型
(可选)

要执行的滤波运算类型。

  • 低通在栅格上横跨一个 3 x 3 低通滤波器。 该选项可平滑整个输入栅格,并降低异常像元的显著性。 这是默认设置。
  • 高通在栅格上横跨一个 3 x 3 高通滤波器。 此选项可增强栅格中弱化要素的边缘。
String
在计算中忽略 NoData
(可选)

指示在进行滤波计算时是否忽略 NoData 值。

  • 选中 - 当滤波器中存在 NoData 值时,忽略此 NoData 值。 将仅使用滤波器中具有数据值的像元来确定输出。 这是默认设置。
  • 未选中 - 当滤波器中存在 NoData 值时,相应待处理像元的输出将为 NoData。 使用此选项时,存在 NoData 值表明确定邻域的统计值所需要的信息不足。
Boolean

返回值

标注说明数据类型
输出栅格

过滤后的输出栅格。

输出栅格始终为浮点型。

Raster

Filter(in_raster, {filter_type}, {ignore_nodata})
名称说明数据类型
in_raster

要执行滤波运算的输入栅格。

Raster Layer
filter_type
(可选)

要执行的滤波运算类型。

  • LOW在栅格上横跨一个 3 x 3 低通滤波器。 该选项可平滑整个输入栅格,并降低异常像元的显著性。 这是默认设置。
  • HIGH在栅格上横跨一个 3 x 3 高通滤波器。 此选项可增强栅格中弱化要素的边缘。
String
ignore_nodata
(可选)

指示在进行滤波计算时是否忽略 NoData 值。

  • DATA如果滤波器中存在 NoData 值,则将忽略此 NoData 值。 将仅使用滤波器中具有数据值的像元来确定输出。 这是默认设置。
  • NODATA如果滤波器中存在 NoData 值时,则相应待处理像元的输出将为 NoData。 使用此选项时,存在 NoData 值表明确定邻域的统计值所需要的信息不足。
Boolean

返回值

名称说明数据类型
out_raster

过滤后的输出栅格。

输出栅格始终为浮点型。

Raster

代码示例

滤波器示例 1(Python 窗口)

本示例将对输入栅格应用高通滤波器。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
filterOut =  Filter("elevation", "HIGH", "DATA") 
filterOut.save("C:/sapyexamples/output/filtered")
滤波器示例 2(独立脚本)

本示例将对输入栅格应用低通滤波器。

# Name: Filter_Ex_02.py
# Description: Performs a preset focal filter on a 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
inRaster = "elevation" 

# Execute Filter
filterOut =  Filter(inRaster, "LOW", "") 

# Save the output 
filterOut.save("C:/sapyexamples/output/filterout")