大学是学GIS的,最近因为需要而搞起了遥感影像,不过GIS和RS不分家嘛!多了解学习没有坏处!针对学习过程中遇到的问题和获得的收获,特发文一篇以作记录,积累经验。
【1.数据下载】
首先需要下载数据,参考的文章使用的是哨兵2 卫星的遥感影像,所以我也使用相同的卫星影像。在欧空局(ESA) 站上(Sentinel-2 – Missions – Sentinel Online – Sentinel Online)可以下载到哨兵系列卫星的数据,还是比较方便的,从【Data Access】-【Access to sentinel data】可以进入影像下载页面。
Level-1C 是经过正射校正和几何精校正的大气表观反射率产品,并没有进行大气校正。
Level-2A 主要包含经过大气校正和辐射定标的大气底层反射率数据(Bottom-of-Atmosphere corrected reflectance)
下图为哨兵2 的波段介绍。
下载数据完成后,影像数据保存在[GRANULE]-[IMG_DATA]文件夹下
【2.数据处理】
在 上查了下,ENVI 5.3可以直接打开哨兵系列的影像(jp2格式),后续需要在envi里另存为envi支持的.dat格式,再用layer stacking工具进行波段合成就可以了。
为了方便,我选择将10m分辨率里的波段2,3,4,8一次性合成,后续进行波段运算的时候就比较方便。
[文件]-[另存为]-[另存为…(ENVI,NITF,TIFF)],选择想要转换的文件(我这里是用10m分辨率下的TCI影像,即True Colour Image为例,大家做的时候选择B02,B03,B04,B08即可),命名输出文件即可。
注意,图中NDBI应该改为NDBWI,当时没注意写错了。
将文件都转为.dat格式后,进行波段合成,该工具在envi工具箱的栅格数据管理文件夹下,叫波段组合,英文版自行对照…
将那四个波段import,会自动读取信息,命名输出文件即可。
波段融合完成。
【3.提取水体公式】
根据文章:基于python实现高分二 遥感影像水体提取与水质反演(黑臭水体与水体富营养化)_一只盒饭的博客-CSDN博客_遥感影像水体提取
得知可以通过光谱影像中的红绿波段来识别正常水体和黑臭水体 ,但是通过波段计算后发现,虽然最后结果能区分开水体和建筑和裸地,但是不能很好的区分开水体和植被,所以还需要计算一个NDVI指数来将植被剔除。
NDVI 的计算公式非常简单,为近红外(NIR)与红光(Red)之差与之和的比值,即:
NDVI = (NIR – Red) / (NIR + Red),对应到哨兵2 即为第八波段(NIR)和第四波段(Red)
此公式的结果介于 -1 和 +1 之间,如果红色通道的反射率较低,而近红外通道的反射率较高,则将产生较高的 NDVI 值;反之亦然。
【4.水体提取】
公式已经列出来了,现在就需要确定一个提取的阈值,来保证最后结果大部分都为水体,没有其他地物干扰。这一个阈值需要针对实际来确定,结合他人文章和自我判断,暂时将:
0<NDBWI<0.05
范围内的水体识别为黑臭水体,不正常水体。将:
NDBWI≥0.05
识别为正常水体。
注意,因为还没将水体和植被区分开,所以还需要添加一个条件:
NDVI≤0
来将植被和水体区分开。
最后的波段计算公式为:
不健康水体:
(((float(b8)-float(b4))/(float(b8)+float(b4)) le 0) and ((float(b3)-float(b4))/(float(b3)+float(b4)) lt 0.05) and ((float(b3)-float(b4))/(float(b3)+float(b4)) gt 0.00))*1.0
健康水体:
(((float(b8)-float(b4))/(float(b8)+float(b4)) le 0) and ((float(b3)-float(b4))/(float(b3)+float(b4)) ge 0.05))*1.0
附:
结果:
不健康水体
健康水体
【5.补充】
1.按照 上查阅的资料加上自己的理解,曲线的数值是大气底层反射率(不知道能不能理解为地物反射率),但是在envi里被默认放大了10000倍。
2.对最终结果新建密度分割,想要输出密度分割结果为shp文件时,envi 错。
具体原因是啥不清楚,全英文路径也不行,最后是按照贴吧老哥的办法,新建了一个window账户,在该账户内操作才成功,比较麻烦,但是居然成功了,逆天操作。
在ArcMap里面打开:
附贴吧老哥链接:求助,辐射定标和导出shp文件都有这个问题【envi吧】_百度贴吧
3.由于本人非专业人士,若其中有错误或漏洞或本人理解有误的地方,还请各位不吝赐教,大家一起交流学习!
4.这位大佬写的哨兵系列的介绍很详细:2.Sentinel(哨兵系列)详细介绍以及下载方式 – 简书
5.另一位大佬的文章:哨兵系列卫星(哨兵1 -12 )介绍与下载教程 – 知乎
6.补充一个问题:就是识别出的水体还是有一部分零零散散的噪声点,这些是误差的点,目前还不知道怎么去除,ENVI里的图像平滑好像用不了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!