这个是2012年左右放在百度空间的,谁知百度空间关闭。。。转移到博客园。
最近项目用到3.1.2版本的LEDAPS,新版本的使用情况会在后续文章中慢慢丰富。
LEDAPS的调用顺序是:HuPm-->HuCal-->HuCsm-->HuSr
处理的流程是:参数初始化-->辐射定标-->云掩膜-->大气校正
HuPm是将LEDAPS项目中的TM/ETM+大气校正流程系列算法中的参数初始化模块由linux系统移植到windows下的产物,代码本身改动不大,使用接口不变。
包含文件:
HuPm.exe
geotiff.dll
包含辅助文件:LEDAPS的辅助文件,将其解压到D盘根目录,文件名固定,例子如下:
D:\ledapsAnc.20110224\ANC\REANALYSIS\RE_2006
Vs2005编译附加依赖项:
geotiff_i.lib
libtiff_i.lib
命令行调用示例:
HuPm.exe空格D:\LEDAPS\L5014033_03320060801.carbon_met.txt
或
HuPm.exe空格D:\LEDAPS\ L5014033_03320060801_MTL.txt
两种TM/ETM+数据头文件都可以
对代码的修改:
Linux下包含头文件:
#include <sys/types.h>
#include <sys/stat.h>
这两个头文件虽然vs2005中也有,相关函数也相同,但有关文件与路径的函数使用上还是存在差别,这里修改了函数stat()、fstst()等函数。同时还删除了日志文件相关的函数。
部分函数做了替换:
Linux下Strcasecmp()函数换成了标准库中的Strcmp()
Linux下getline ()函数换成了标准库中的fgets()
Linux下index ()函数换成了标准库中的strstr()
头文件dirent.h在windows下C标准库下找有没有相应的函数。对于在linux->windows之间进行程序移植来讲常常会造成一些困扰,网上有人写了相应的移植代码http://softagalleria.net/dirent.php,下载dirent.h文件,里面还有一个demo。
以上修改只是暂时使用的权益之计,之间将部分代码替换了,没有针对linux与windows单独定义宏。