LEDAPS1.3.0版本移植到windows平台----HuPm参数初始化模块

时间:2023-11-23 10:22:08

这个是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单独定义宏。