ENVI + sentinel-2数据 + ArcGIS + 监督分类及变化检测

下面所有内容都是为了完成某门课程的作业边查边做的,是一篇记录文章。

参考文章:

地信遥感数据汇

Sentinel-2(哨兵2号)数据下载及预处理_LionelMessi7的博客-CSDN博客

哨兵二号数据处理中的问题归纳_聪明的傻子的博客-CSDN博客

欧空局下载哨兵数据时卡bug加速法/解决下载失败,需要权限问题_不到两点不睡觉的博客-CSDN博客

哨兵2数据预处理 大气校正 分为2017之前与2017年之后_我是菜鸡,我不敢睡的博客-CSDN博客
ENVI的图像拼接_Sedentary的博客-CSDN博客
 

1.数据介绍

Sentinel-2 任务由两颗极轨卫星Sentinel-2A(2015年6月23日发射)和Sentinel-2B( 2017年3月7日发射)组成,分布在同一太阳同步轨道上,彼此成 180° 相位,幅宽为290 公里。总的重访周期为5天,每颗卫星的重访周期为10天。

每颗 Sentinel-2 卫星都携带一个多光谱仪器 (MSI),在可见光、近红外和短波红外光谱范围中共有 13 个波段,不同波段空间分辨率不同,有10m、20m、60m三种。

目前Sentinel-2主要提供两种产品数据:L1C和L2A。

Level-1C:经正射校正和亚像元级几何精校正后的大气表观反射率产品(Top of Atmosphere Reflectance,TOA)。

Level-2A:数据为大气校正的大气底层反射率数据(Bottom of Atmosphere corrected reflectance,BOA),还包括其他产品如气溶胶厚度(Aerosol Optical Thickness, AOT)、大气水蒸气(Water Vapour Map, WVM)。

数据命名规则:

S2A_MSIL1C_20160830T051652_N0204_R062_T45TUK_20160830T051651.zip

"S2A"表明是Sentinel-2A号卫星生成的数据;

MSI”表示数据由多光谱仪采集。

L1C”表示数据产品等级。

20160830T051652”表示数据的获取时间,这里是2016年8月30日凌晨5点16分52秒。是格林尼治时间,因此在咱们国家就需要加8个小时即13点16分52秒。

N0204_R062”表示处理基线编号与相对轨道编号。

T45TUK”表示拼接域编号。

20160830T051651”表示L1C产品生成时间。

2. 数据下载

1. 在欧空局官网上下载,网址为:https://scihub.copernicus.eu/dhus/#/home

2. 如下图所示,首先点击Sign up注册账号,这一步没什么需要注意的,需要什么填什么就行了。

3. 然后输入注册的用户名、密码登陆。

4. 如下图所示,点击1号框中图标进行空间范围选择,按住左键不松直接框选就行了。点击2号框中图标展开3号框。点击4号框选择起始时间。5号框选择截止时间。6号框选择卫星。7号框选择数据类型,L1C是未经过大气校正的数据,L2A是使用Sen2Cor程序进行过大气校正处理的数据。8号框选择云量在0-9.4%。

8. 结果如下图所示,白底的影像条可以直接下载,灰底的有Offline标志的需要点击下载按钮进行调配,影像会自动加入购物车,过上两三个小时差不多就可以下载了。

9. 在下载数据时,有时会出现刚开始下载的时候,速度明明表的很快,但一会儿没见速度就越来越慢,到最后直接变0 kb/s。这种情况可能是因为你的账号可能自动下线了。只要点击右上角的登录入口,点开后点击logout,在重新登录进去就好了。

3. 运用Sen2cor进行大气校正处理

 Sen2cor作用是将未经大气校正的L1C影像进行大气校正处理。

1. Sen2cor在官方网站可免费下载,网址为:Sen2Cor官网下载http://step.esa.int/main/snap-supported-plugins/sen2cor/如下图所示选择下载的版本,然后根据系统版本选择windows版进行下载。 注意:对于2016年的数据只能采用sen2cor v2.5.5进行处理(官方说的是数据版本为14.2用v2.5.5,14.6、14.5、14.2用v2.9,14.9用v2.10,但是我没找到哪里有说明数据版本,就从v2.10开始挨个尝试...一次次的失败啊......)。

 

2. 下载完成后将压缩包解压后就可以使用了,不用安装。注意:文件路径中需要时纯英文路径。

3. 为了能够批量处理数据,首先设置环境变量。如下图所示,在桌面右键点击“此电脑”,然后点击“打开文件夹位置”。

4. 如下图所示,再次右键点击此文件夹内的“此电脑”图标,然后点击“属性”。 

 5. 如下图所示,找到“高级系统设置”,点开。

6. 如下图所示,点击“环境变量”后,点击“系统变量”下面的“新建”,变量名随便填写,然后点击“浏览目录”后,选择Sen2Cor解压后的文件夹 所在位置,然后点击“确定”后,“变量值”栏自动填写文件夹路径,然后一路点击“确认”就行。

 7. 如下图所示,回到Sen2Cor解压后的文件夹,在路径栏直接输入“cmd”后,按回车键进入命令提示符界面。

 8. 检验是否可以运行:输入“L2A_Process --help”命令,若运行出下图所示结果则可以运行。

 9. 如下图所示,解压从官网下载的压缩包时选择“解压到当前文件夹”,然后将解压后的所有文件夹放到同一个纯英文路径的文件夹中。

 10. 如下图所示,在刚刚打开的命令提示符界面输入命令“for /D %s in (D:\Sentinel\data\S2A_MSIL1C*) do L2A_process %s”。其中“D:\Sentinel\data”是放置进行大气处理文件的文件夹路径。上述命令用于对卫星A进行大气校正,若要对卫星B进行大气校正,则需将“S2A_MSIL1C*”改为“S2B_MSIL1C*”,其余不变。此命令默认处理的60m、20m和10m分辨率的所有影像。若要单独处理某一分辨率的影像,比如处理分辨率为10m的影像则应输入的命令为“for /D %s in (D:\Sentinel\data\S2A_MSIL1C*) do L2A_process --resolution=10 %s”。

11. 命令输入完毕后按回车键开始执行命令,如下图所示,百分比进度到100%时则表示文件夹内所有L1C文件的大气校正处理完成,处理完输出的文件名中“L1C”改为了“L2A”。

 

4.运用SNAP进行格式转换

1. 使用原因:ENVI无法直接导入sentinel-2的影像数据,所以需要SNAP来进行格式转换。

2. 软件还是在官网上下载,地址为:SNAP下载网站http://step.esa.int/main/download/

3.如下图所示,进入后选择Download SNAP,然后选择Mirror Download版本进行下载(Main Download下载的非常慢,Mirror Download是正常速度)。 

 

4. SNAP下载解压后是一个安装程序,安装路径可改为非系统盘的位置,其他的一直默认选项点“next”就行。

5. 如下图所示,点击“Open Product” ,

6. 如下图所示,选择L2A文件中的“MTD_MSIL2A.xml”文件后点击“Open” 。

7. 为加快影像转换速度可先对影像根据经纬度进行裁剪。如下图所示,选择“Subset”打开。

8. 如下图所示,在“Spatial Sbuset”中选择B2波段,相当于将影像分辨率改为10m。选择“Geo Coodinates”根据经纬度裁剪影像。

 9. 如下图所示,在“Band Suset”页内选择包含波段反射率信息的选项即仅勾选B1-B12波段 ,然后点击“OK”,在软件界面出现一个未保存的文件,选中这个新出现的文件。

10. 如下图所示,选择“Resampling”对所选数据进行重采样。

11. 在“I/O Parameters”页将“Save as”勾选上,类型选择“ENVI”,路径可以自定义选择。 

 12. 在“Resampling Parameters”页参考波段选择“B2”,相当于设置分辨率为10m。然后点击“run”开始转换格式。不知道为什么转换的时候这个软件会在C盘的users目录下新建一个“.snap”的文件夹,莫名其妙存储好多东西,都不知道是什么,处理一景影像文件夹“.snap”内可以存2G左右的数据,然后删掉后又丝毫不影响什么其他东西。

 13. 如下图所示,还有另一种办法是“I/O Parameters”页的“Save as”不勾选,然后软件内会运行出一个未保存的文件,选中这个文件,然后选择“export”,选择“ENVI”,然后选择输出路径进行输出。但是这个方法会在C盘的“users”路径下自动生成一个“.snap”文件,随着文件的保存程序不仅会向所选路径中保存文件,还会向这个C盘这个文件夹内保存20-30G的文件,或者更多,因为我用这个方法从来没有下载成功,每次还没下载完C盘就满了。然后删掉C盘的“.snap”文件也不影响什么。

 5. ENVI-将多个单波段文件合成为一个多波段文件

如下图所示,首先将同一影像的所有单波段文件全都 导入到ENVI中,然后在toolbox栏中找到“layer stacking”工具,点开后点击“import file”将同一影像的所有单波段文件选中,然后选择输出路径,然后点击“OK”即可输出多波段文件。

6. ENVI-影像拼接

1. 打开“ENVI classic”,然后导入要拼接的影像。

2. 如下图所示,选择“Georeferenced”,这是基于地理坐标的镶嵌。 

3. 如下图所示,点击“Import Files”导入在ENVI中打开的要拼接的影像。

 4. 如下图所示,右键点击一幅影像选择“Edit Entry” 可进行设置。

5. 如下图所示,为一些参数的设置,此次作业中我没有设置。

若“Data Value to Ignore”设置为零,则背景为透明。

"Feathering Distance"可根据实际需求进行设置。

“Cutline Feathering”选择已经构建好的羽化线(作用:若两幅镶嵌影像重叠太多可以减掉一部分,并根据剪切线进行羽化处理)。

“Color Balancing”色彩均衡化处理,“Adjust”指此图像与另一图像进行匹配,镶嵌第二个影像时,此选项选择“Fixed”。

设置完毕后点击“OK”。

 6. 如下图所示,选择“Apply”后,选择输出路径进行保存。

7. ENVI-监督分类

1. 在“ENVI”中导入要进行监督分类的文件。

2. 确定监督分类的地类种类:水体、居民地、耕地、草地、裸地。然后运用ROI工具在每种地类上选择一定数量的ROI(老师说一般地类50个左右,像水体这种比较少的选20个左右,具体还是看情况选择,要均匀分布)。

3. 如下图所示,为便于观察,将进行假彩色合成,发现12、8、3波段合成最容易区分地类。

4. 如下图所示,点开工具栏的ROI图标后,选择长方形的框框选ROI,选择好后按回车键或者右键点击“Accept Rectangle”进行确定,“ROI Name”栏可自定义该类ROI名字 和颜色。 

5. 如下图所示,当此类ROI画好后,可点击主界面第一行中,右下角为绿色加号的小图标从而新添新的ROI集。

6. ROI画好后,可点击“Compute ROI Separability”对不同地类选择ROI的分离性进行检验。结果越接近2分离程度越好。

7. 还有另一种方法对不同地类ROI分离程度进行检验 。如下图所示,选择“Compute Statistics from ROIs” ,此结果中图线差异越大说明所选ROI对地物的区分程度越好。

 

 8. 如下图所示,ROI选择好后,选择“save as”对ROI进行保存。

9. 如下图所示,在"toolboxs"栏内中找到“maximum likelihood clasification”即最大似然法监督分类并打开,选择要进行监督分类的影像后点击“OK”。

10. 如下图所示,选择要进行监督分类的地类的ROI文件,右侧上方框中选择输出路径,然后点击“OK”进行监督分类。

11. 将分类结果导出为TIFF格式便于在ArcGIS中打开。 如图所示,选择save as,然后选择格式为TIFF,再选择输出路径后即可导出为TIFF格式文件。

 

 12.注意:导出为TIFF格式文件不能通过下图所示方式,否则在ArcGIS中打开图层属性错误,只能通过RGB赋予3个颜色。 (后来在做另一个作业时发现原始的遥感影像要想在arcgis内显示就只能用这种方法才行)

8. ENVI-变化检测

如下图所示,ENVI中变化检测共有4中方式。

前两种都是通过统计学原理进行简单的变化检测,而后两种涉及到了多种变化检测算法,需要进行很多参数设置从而进行变化检测。 

“change detection difference map”和“image change worlflow”是通过像元的DN值进行变化检测,是直接用影像进行变化检测,不用先进行分类。

“change detection statistics” 和“thematic change workflow”是通过分类后的影像进行变化检测。

9.ArcGIS中成图

这个在地理坐标系、投影坐标系那里还没怎么搞明白...等搞明白了再来写吧。

  • 34
    点赞
  • 302
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值