WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑

本文不涉及批量操作,所以系统环境变量啥的都不去配置了,开箱即食。需要批量操作可绕行-_-||,学识浅薄,写的不好,写错的欢迎支出。勿喷。

哨兵2(Sentinel-2)数据下载地址

数据下载

  1. ESA下载的2019年某区域数据,下载数据命名如下样式:
    S2A_MSIL1C_20190922T025541_N0208_R032_T49RGM_20190922T060638
    解压后:
    WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
    (使用过程发现ESA提供的都是新版产品)
  2. USGS下载的2016年某区域数据,下载文件名称有两种样式:
    (1) L1C_T49REM_A005792_20160801T031129解压后:
    WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
    (2)S2A_OPER_MSI_L1C_TL_MTI__20160828T031521_20160828T082207_A006178_T49RGM_N02_04_01解压后:
    WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
    坑就在USGS这第二种数据处理上

下载Sen2Cor

下载地址:http://step.esa.int/main/third-party-plugins-2/sen2cor/
目前(2020年3月),sen2cor提供了两个版本:V2.8,V2.5.5 官方描述如下图
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
两个版本差异在于v2.5.5用于处理官方生产的较早版本的L1A数据,v2.8则可以处理新的L1A数据。两者使用方法一样。

使用Sen2Cor

以下将以V2.5.5版本进行介绍,V2.8配置方式相同
1)将下载好的解压到任意文件夹(为方便查看我解压到了 E:\S2A\A\Sen2Cor-02.05.05-win64 )可得到以下的界面中的文件
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
2) 接下来打开控制台程序
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
切换路径到Sen2Cor目录下

cd E:\S2A\A\Sen2Cor-02.05.05-win64 回车
e: 回车
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑

3)生产L2A数据

输入L2A_Process.bat {文件绝对路径}点击回车开始运行。
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
接下来就是漫长的等待了。那么Sen2Cor的基本操作就到这里为止了。

坑从此开始

执行上面的代码突然报错下面的错误
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
原因是因为,文件夹及文件名过程导致。
解决办法:
将文件夹名缩短(自己喜欢咋删就咋删呗,尽量保证文件名可读性
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
改为
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑

注意: 改名时前面这些前缀不要乱删,否则容易导致无法找到元文件
WIN10下使用Sen2Cor处理ESA和USGS的哨兵2 L1C数据踩的坑