the LEDAPS初始化模块lndpm移植到windows过程中的一些问题

来源:互联网 发布:淘宝达人怎么推广 编辑:程序博客网 时间:2024/06/03 15:47


Lndpm模块移植步骤请参照 http://hi.baidu.com/akaishi/item/10f7c6d46d65fb2f38f6f774

很快编译就能通过。在此感谢百度空间此博文的博主。在移植的过程中,我感觉其实主要就是路径的问题,代码本身改动并不大。

所参照的文章中,像辅助文件、波段文件名等都是使用绝对路径,这样一来就会很不方便。于是就针对路径问题进行了一些变动。

1.在Linux下运行此程序,一般是进入到该数据的文件,直接lndpm *_MTL.txt即可。这样一来,在windows下就会有些小问题(除非将数据拷到移植好的lndpm的路径下)。例如输入的路径是:D:/LEDAPSnew/datetest/LT51250402009199BJC00_MTL.txt 则后面生成的文件名就会成这样,例如lndsr.D:/LEDAPSnew/datetest/LT51250402009199BJC00.hdf。这个改起来还是比较简单的。

2.辅助文件如果用绝对路径的话,会非常麻烦,如果可以实现在指定文件夹下找到指定的文件,这样就很好了。其实源代码本身就是用这个思想实现的,只要对_scan_dir()函数下两处稍微改动一些就可以了:

① if(*nbp!='/')

     *nbp!='/';

  -> 变成: 

    if(*nbp!='\\')

     *nbp!='\\';

  ② if(dirent_p->d_ino==0)

  -> 变成:

   if(dirent_p->d_ino=="<NULL>")

3.参照源代码中对辅助文件的搜索的思想,读取MTL、TIF文件。不过要作稍微的改动,源代码中对于要找到的文件名是已知,而读取的MTL、TIF等文件名是不确定的,但是具有一定的规律,如MTL文件是这样的格式*_MTL.txt,因此只要判断一下是否包含MTL.txt字符即可。TIFF文件读取方法类似。

 

PS:刚开始学习LEDAPS程序,各位大侠若有更好的想法可多多交流哦,若有说得不对的地方,请大家及时指出。

---------------------------------------------------------不要被未知的恐惧打败,Just do it.


0 0