Landsat8大气校正程序LaSRC是目前最好的,使用方式也够傻瓜,输入文件输出结果。
但有一个限制,就是程序需要预先下载好的MODIS辅助文件来确定水汽、压强等大气参数。
如果待大气校正的landsat8数据是历史数据,那么没问题,网站提供的辅助文件包已经准备好了对应的辅助数据,可直接使用。
LaSRC auxiliary files
http://edclpdsftp.cr.usgs.gov/downloads/auxiliaries/lasrc_auxiliary/lasrc_aux.2013-2017.tar.gz
See git tag [lasrc-version_1.3.0]
这里下载的辅助文件包asrc_aux.2013-2017.tar.gz
有
90G
。。。教育网渣网速下载了整整一周。。。。
问题是:如果是新获取的Landsat8数据呢?
没关系,这种辅助数据可以自己生成,官方也提供了利用modis数据生成辅助文件的算法。
用户可以从网上下载Landsat8数据获取当天的相关MODIS数据,利用该程序合成一个LaSRC需要的校正辅助文件。
该程序在espa-surface-reflectance-master\lasrc\c_version\src_pre_collection文件夹下。
现在我们把这个在windows下编译一下:
新建一个VS2010的C++空项目,添加以下文件。
包含目录:
Combine_l8_data.h文件strings.h的引用改成string.h,去掉s。
#include <libgen.h>注释掉,没用。
根据错误提示修改一些语法错误,或者说是linux与windows编程的差异。
编译成功
事实上MODIS的CMG与CMA数据在知道了获取时间后,根据命名规范可以用爬虫拔下来,所以下一步的工作是提供一个自动网络下载功能,这样用户便可以自动对最新的Landsat8数据进行大气校正了。