Home 新闻中心 技术博客

三种栅格分析方法的区别:邻域分析、局域分析和分区运算

发布时间:2021-11-25 23:57:26   浏览量:32   作者:GIS前沿

我们都知道遥感图像的每个波段,其实质就是一个二维矩阵,每个栅格都是一个数值,即DN(Digital Number)值。在栅格数据分析中,使用最多的无疑是邻域分析、局域分析和分区运算了,其中局域运算又分为单一栅格局域运算和多个栅格的局域运算,分区运算是邻域运算的特例,区分这三者的不同之处可以加深我们对栅格数据分析的理解。

首先我说说他们的相同之处,就是分析结果都会产生一个和原始栅格范围和空间分辨率都一样的新的栅格图层,只是输出栅格的像元值根据不同的计算方式而变化。
图片图片
01
单一栅格运算

参与运算图层数量:一个

运算方式:一个像元一个像元地运算,每次计算一个像元,依次遍历全部像元

总运算次数:等于栅格的像元个数

计算内容:单个栅格运算时只能一个一个像元的进行数学计算,包括算数函数、对数函数、三角函数和幂函数。
在ArcMap中的具体运算工具都在数学分析下面了:
应用领域:单一栅格最常见的运用就是重分类,对每一个像元赋予新的值。
02
多个栅格运算

参与运算图层数量:多个

运算方式:相同行列号的多个像元同时参与运算,依次遍历全部像元,单次计算的像元数等于参与运算的图层数量,是固定的

总运算次数:等于单个栅格的像元个数

计算内容:多个栅格运算要求使用相同的像元大小(栅格的空间分辨率)进行叠加运算,要求每一层栅格的像元都一一对应,相同行列号的像元都在同一垂直线上,就像烧烤串一样串在一起,这时候每次运算的对象都是“这一串的像元”,不同于单一栅格运算每次运算只有一个像元参与,n个栅格运算每次运算都是n个像元参与运算,为此多个栅格运算的结果可以统计“一串”像元集合中的最大值、最小值、值域、总和、平均值、中值、众数、唯一值数和标准差等统计值(这个和矢量数据属性表汇总时的统计值时一样的)

具体统计类型如下图所示:
应用领域:栅格叠置分析都是基于多个栅格的局域运算,比如在选址分析时,要求海拔低于600米,坡度小于30%并且是向阳面的地区,这时候参与运算的栅格数据包括DEM(数字高程数据),坡度数据,坡向数据这3个数据,为此要叠置这三个栅格数据,同时满足这3个条件的像元才满足条件要求。

03
邻域分析

参与运算图层数量:一个

运算方式:特定范围内所有像元参与运算,每计算一次邻域范围向右移动一个像元,单次参与运算像元数和范围的大小形状有关

总运算次数:等于栅格的像元个数

计算内容:统计图层特定范围内的像元集合中的最大值、最小值、值域、总和、平均值、中值、众数、唯一值数和标准差等统计值,这个和多个栅格运算的计算内容是一样的,最大区别就是多个栅格运算是在垂直方向的像元集合内运算,而邻域分析则在水平方向的像元集合内参与运算。

应用领域:

简化数据:使用平均值和众数统计值计算,使得整个栅格值都趋向一个指定范围内,减少像元值的波动水平

图像边缘增强:使用RANGE统计值计算邻域范围内的最大值和最小值之差(极值)

地形分析:ArcMap实现坡度和坡向分析就是采用n*n矩形邻域窗口计算中心像元的坡度和坡向

遥感影像处理:为了抑制噪声,我们需要对影像进行滤波处理,其方式和地形分析差不多

注意:

在所定义的范围内有些像元只被范围边界部分覆盖的处理原则是,如果该像元中心在该范围的边界线内,则将其包括在运算范围内。

确定邻域范围:一般在arcmap中提供矩形,圆形,环形,楔形(扇形)这四种形状运算同时形状大小则由像元数量决定,具体设置看下面两个图:



单次邻域计算的新值赋给谁?不像局域运算每次计算产生的新值都是赋给对应的像元,邻域运算根据不同的形状范围赋给的像元位置也不一样,矩形,圆形,环形的运算结果都赋给该几何中心所在的像元,而楔形(扇形)运算结果赋给圆心位置所在的像元。

很明显对于边缘像元,它的邻域范围肯定是缺失了一部分像元,怎么办?这个不同的运算方法有不同的解决方案,一般默认会在栅格四周添加和相邻像元一样的像元值,保证邻域范围内有足够的像元参与计算

04
分区运算

参与运算图层:两个,一个是输入栅格,一个是分区栅格

运算方式:以分区栅格的不同区域(同一区域内的像元值相同)为范围对输入栅格进行分区运算,一个区域计算完换到另外一个区域,每次参与运算的像元数量由分区范围大小决定

总运算次数:等于分区栅格内的像元值的唯一值个数(即分区区数)

计算内容:统计分区内的输入栅格像元集合中的最大值、最小值、值域、总和、平均值、中值、众数、唯一值数和标准差等统计值,这个和邻域运算的计算内容是一样的。

应用范围:土地利用分析,流域分析,不同功能区的坡度坡向分析

注意:

前面开头讲到了分区运算是邻域运算的特例,为什么这样说呢?两者的最大区别有两个,第一个就是邻域分析的分析范围可以直接决定,但是分区运算的分析范围由分区栅格内的像元分布情况和像元值决定。第二个就是每次邻域计算的值都会赋给一个新产生的像元,但是分区运算每次计算完成都会产生和分区范围像元数量一样的新像元,并且其中每一个像元值都是一样的。正是因为这样原因,所以当分区栅格中像元值的唯一值个数很少时(即分区少),运算次数要比邻域运算少很多,计算效率高,反之则低。

来源:https://blog.csdn.net/qq_43173805/article/details/119939234

成都途远GIS是一家专业致力于无人机航空摄影测绘、航空数据处理、GIS地理信息系统研发、数字孪生城市制作、数字沙盘模型等业务的创新型科技公司,为您提供一站式地理信息服务。