增强型不透水面指数的计算(ENDISI)

发布时间 2023-09-19 16:43:49作者: Victooor_swd

通常,在使用遥感提取城市的不透水面,建成区,建筑等操作时,NDBI(归一化差值建筑用地指数)是首要的选择,但其无法很好地将裸土等地表与不透水面分离,其阈值也难以良好地选择,为了更好地对城市建成区进行提取,这里参照穆亚超等发表的《一种新的增强型不透水面指数》一文进行增强型不透水面指数的计算,使用Landsat8OLI传感器数据。

1.Landsat8 oli数据下载及处理

此处可参照我之前的随笔对数据进行辐射定标和大气校正——Landsat8——从遥感数据下载到辐射定标大气校正的全过程 - Victooor_swd - 博客园 (cnblogs.com)

2.对大气校正后的数据进行处理

此步骤参照https://blog.csdn.net/yuanYW7556/article/details/115344541一文进行,使用波段计算工具将大气校正后的数据进行处理

打开波段代数—波段运算工具(BandMath)

手动输入公式(b1*0.0001),这里需要注意:ENVI的波段运算是先输入相应的公式再选择需要运算的波段,因此在输入相应公式的时候先将波段写为Bx的形式,如(B1,b1)

 在输入栏中写好公示后,点击Add to List,将公式添加到最上面的窗口中

 选中公式后点击确定,即进入到波段的选择当中

这里我们需要对所有的波段都进行处理,因此先点击Map Variable to Input File

 选择整个大气校正结果文件

 选择保存路径,此步骤处理完成

 3.计算增强型不透水面指数

对处理完的文件计算指数,具体的公式如下:

 打到这里以供复制:((2*B2+B7)/2-(B4+B5+B6)/3)/((2*B2+B7)/2+(B4+B5+B6)/3)

按照波段运算的步骤将其加入到上方窗口中,点击确定进入波段选择界面

波段选择的操作是:首先点击需要选择的变量,选中后点击赋给它的波段

 波段选择完成后,即可选择保存路径并输出

 这时,我们得到了一张类似灰度图片的栅格,我们需要对其进行二分类处理,把不透水面和其他地面分离

 

 用取值工具看一下,可以看到不透水面的值均是大于0的,而植被等则是小于0的,因此我们使用波段运算工具将其二分类,具体公式如下:

(B1 gt 0)*1+(B1 lt 0)*0

其中,gt代表大于,lt代表小于,公式的意思就是将大于0的赋值为1,小于0的赋值为0

 对上一步计算得到的文件进行处理并保存,得到了一份效果不错的不透水面识别图像

 4.去除水体

但是,我们注意到,水体并没有与不透水面分离开,这是由该指数对蓝光波段的值进行了扩大,使具有低反射率的水体通过差值运算也得到了一定程度的增 强导致的,因此我们使用NDWI(归一化水指数)提取出水体信息,再将其从ENDISI中去除即可

PS:计算NDWI的公式是NDWI = (B3 - B6) / (B3 + B6)

其中B3是Green波段,B6是SWIR1波段

计算后的结果进行二分类得到水体,其阈值选0.2

 

结果对比如下,差距还是非常大的....