ArcGIS教程:众数滤波 (Spatial Analyst)
来源:网络收集 点击: 时间:2024-06-02摘要
根据相邻像元数据值的众数替换栅格中的像元。
插图

用法
·众数滤波工具需要满足两个条件才能发生替换:具有近似值的相邻像元数必须足够多(达到所有像元的半数及以上),并且这些像元在滤波器内核周围必须是连续的。第二个条件与像元的空间连通性有关,目的是将像元的空间模式的破坏程度降到最低。
·相邻像元数使用FOUR会保留矩形区域的拐角。使用EIGHT将使矩形区域的拐角变得平滑。
·相邻的定义是共享EIGHT内核的一条边和共享FOUR内核的一个角。
·如果将替换阈值指定为HALF,并且两个值的出现次数相等,则当处理的像元值与其中某一半的值相同时将不会发生替换。HALF比MAJORITY的过滤范围广泛。
·当边和角栅格像元的相邻条件相同时,它们会遵循不同的MAJORITY和HALF规则。使用FOUR内核时,边或角像元始终要求存在两个匹配的相邻像元才能发生替换。使用EIGHT内核时,角像元在所有相邻像元均具有相同值时才能发生更改,而边像元需要三个相邻像元(包括边上的像元)具有相同值才发生更改。
·运行几次众数滤波后,输出栅格将会稳定下来(不再变化)。
3/3代码实例
MajorityFilter示例1(Python窗口)
本例将使用全部八个相邻像元过滤输入栅格,并在替换时要求半数像元具有相同值,从而生成更加平滑的效果。
importarcpy
fromarcpyimportenv
fromarcpy.saimport*
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
importarcpy
fromarcpyimportenv
fromarcpy.saimport*
# 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)
环境
像元大小,当前工作空间,掩膜,输出坐标系,范围,临时工作空间,捕捉栅格
c语言版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_872198.html