jianghao713的个人博客分享 http://blog.sciencenet.cn/u/jianghao713

博文

Linux下LEDAPS v1.3.0大气校正系统安装详细流程

已有 6099 次阅读 2015-11-23 22:50 |个人分类:数据处理|系统分类:科研笔记|关键词:学者| Landsat, 大气校正, ledaps

对于Linux初级用户来说,采用编译源码的方式安装软件并非易事。特别是一些科研软件,一方面自述文档极其简略,另一方面用户少,找不到合适的攻略(ps:之前最详细的一份攻略中,老外也忍不住吐槽LEDAPS文档太粗http://karthur.org/2015/ledaps-installation-ubuntu.html),一些配置错误可能折腾很久。最近在Fedora23下安装LEDAPSv1.3.0花了近4天时间,走了很多弯路。有必要记录下详细步骤,分享给需要的人。

1. LEDAPS简介

该系统本身就是面向批量处理而设计,只需要输入解压好的Landsat影像,就会输出校正后的地表反射率。

LEDAPSThe LandsatEcosystem Disturbance Adaptive Processing System)是NASA的一个研究大陆区域森林扰动等的项目。该系统利用为MODIS开发的大气校正方法对Landsat进行处理。方法采用的是6S模型,其输入需要水汽和臭氧浓度等辅助参数。这些参数利用传统方法获取成本较高,LEDAPS通过NCEPNational Centers for Environmental Prediction,美国国家环境预报中心)水汽数据,TOMSTotal Ozone Mapping Spectrometer,臭氧总量探测仪)臭氧数据产品作为参数,使得模型有了标准化的大气参数。对于精度,研究显示,在全球范围,使用LEDAPS估算的Landsat地表反射率数据同MODIS地表反射率产品具有高度的一致性,其均方根误差(Root MeanSquared Deviation, RMSD)介于1.3-2.8

这里采用的LEDAPS系统为1.30版,代码下载地址为(http://code.google.com/p/ledaps/)。安装包分两部分:

1ledaps.tar.gz即系统源代码;

2ledapsAnc.1980-2010.tar.gz等,即各个年份的辅助参数。

2. Linux下安装应用简介

熟悉Linux的人请忽略本节。

通常,Linux的安装包有两类:

1)打包的可执行程序:

优点是方便,缺点是不能灵活定制。

类似windows下的安装包,如:rpm包(后缀.rpm),是RedhatLinux(Fedora)提供的一种包封装格式。dpkg包(后缀. deb),如software-1.2.3-1.deb。它是Debain Linux(Ubuntu, Linux Mint)提供的一种包封装格式。

2)打包的源代码

优缺点与前一类相反

tar包,通常压缩完后缀为.tar.gz.tar.Z等,通过“tar zxvf文件名”来解压,然后分三步安装:

#注意,部分时候,安装前还需要配置一些其他信息

1)执行“./configure --prefix=… --with-…=…”为编译和链接设置参数;其中,prefix用来指定软件将要安装的位置,with指定依赖包的安装目录。

2)执行“make”编译源代码

3)执行“make install”安装软件

#安装完还可以用“makecheck”或“make test”测试安装结果,如果源码提供了测试。

Linux新手还可以参考这篇博文:

http://www.cnblogs.com/jyginger/archive/2010/07/25/1784599.html

3. LEDAPS各种依赖包的配置与安装

注意:Ledaps安装的难点主要在这部分

1)各种依赖包的准备

Ledapsreadme只说系统本身依赖的包有:HDF-EOSGCTP, HDF4, HDF-EOS2, TIFF, GeoTIFF。它没说而又值得注意的是:

1)这些被依赖的包还依赖一些其他的包:所以还要加上JPEG, SZIP, ZLIB, PROJ4这四个包(依赖关系参见后面的安装配置)。

2HDF-EOS GCTPHDF-EOS2其实都在HDF-EOS包里面。而HDFHDF-EOS名字相近,是两个独立包(HDF-EOS依赖HDF)。

3)需要特别注意各个包的版本号,应按照从后往前的顺序,看需要什么版本依赖包去对应下载,不是越新越好。例如,hdf-4.2.10依赖jpeg-6bjpeg-6b里面坑较多,安装麻烦。尽管jpeg-9abug少容易配置,但会导致hdf编译通不过“make check”!

2)安装配置

以下是各安装包的配置(./configure)方法,一些额外配置(填坑记录!)会加#号说明。

先从最简单的zlib开始,斜体为通用步骤,每个包安装都需要,不再累述。

1) zlib

        cd /usr/local

        sudo mkdir zlib

        sudo chown USERNAME zlib                    注意,USERNAME是你的linux账户名哦

        tar zxvf zlib-1.2.8.tar.gz

 

./configure --prefix=/usr/local/zlib

 

make

make install

make check

make clean

 

安装成功后,会看到/usr/local/zlib 目录下多了inlucde, bin,lib, man几个目录

 

接下来重复的步骤不再累述,只介绍最关键的configure和特殊情况

2) szip

      ./configure --prefix=/usr/local/szip

3) jpeg-6b

    #1. jpeg-6b包居然需要自己建目录,否则安装失败。所以,记得在安装目录下输入sudo mkdir include bin lib man man/man1

./configure --prefix=/usr/local/jpeg --enable-shared=yes --enable-static=yes

#2. 有时还会遇到错误,如Fedora23configure失败,提示”checkinghost system type… Invalid configuration ‘x86_64-unknown-linux-gnu’: machine‘x86_64-unknown’ not recongnized”。此时,需要将libtool这个包(没有的话先安装)目录(libtool/build-aux/)下的configure.guessconfigure.sub拷贝到jepg源文件目录下,然后configure。详情还可以参考 http://blog.csdn.net/php_boy/article/details/7382998

4) tiff

  ./configure --prefix=/usr/local/tiff --with-jpeg-include-dir=/usr/local/jpeg/include --with-jpeg-lib-dir=/usr/local/jpeg/lib --enable-shared=yes --enable-static=yes --with-zlib-include-dir=/usr/local/zlib/include --with-zlib-lib-dir=/usr/local/zlib/lib

   #3. 大多数包只需要指定一个包的根目录,唯有tiff需要单独指定其includelib。所以每次安装前记得查看安装包中的configure文件,了解--with后面的格式。

5) proj4:

  ./configure --prefix=/usr/local/proj4 --enable-shared=yes --enable-static=yes

6) libgeotiff:

./configure --prefix=/usr/local/geotiff --with-libtiff=/usr/local/tiff --with-proj=/usr/local/proj4 --with-zlib=/usr/local/zlib

#4. 我用的libgeotiff1.3.0,一旦加上--with-jpeg=/usr/local/jpeg就会configure失败。

7) hdf4:

  ./configure --prefix=/usr/local/hdf --enable-shared=yes --enable-static=yes --with-szlib=/usr/local/szip --with-zlib=/usr/local/zlib --with-jpeg=/usr/local/jpeg --disable-fortran

   #5. 一定记得--disable-fortran

8) hdfeos:

#6. 尽管通过--with指定了szipzlib的目录,但安装包就是找不到,解决办法是configure前输入export LD_LIBRARY_PATH=/usr/local/szip:/usr/local/zlib

./configure CC=/usr/local/hdf/bin/h4cc --enable-install-include --prefix=/usr/local/hdfeos --with-szlib=/usr/local/szip --with-zlib=/usr/local/zlib --with-hdf4=/usr/local/hdf --with-jpeg=/usr/local/jpeg

   #7.如果通过--prefix指定了安装目录,则HDF-EOSGCTPHDF-EOS2都会在该目录下的includelib目录下。如果没有指定,则会分别安装到源码目录下的gctphdfeos2目录中。

 

如果顺利越过7个坑,安全的装上8个包,恭喜,可以安装ledaps了。

4. LEDAPS安装

相对上面容易多了,分三步:

1)解压参数集

ledapsAnc.1980-2010.tar.gz文件解压到"…/LedapsAnc"目录,并在接下来将该目录赋予ANC_PATH变量。

2)设置路径

建立一个env.sh文件,添加各个包的路径:

export HDFEOS_GCTPINC="/usr/local/hdfeos/include"

export HDFEOS_GCTPLIB="/usr/local/hdfeos/lib"

export TIFFINC="/usr/local/tiff/include"

export TIFFLIB="/usr/local/tiff/lib"

export GEOTIFF_INC="/usr/local/geotiff/include"

export GEOTIFF_LIB="/usr/local/geotiff/lib"

export HDFINC="/usr/local/hdf/include"

export HDFLIB="/usr/local/hdf/lib"

export HDFEOS_INC="/usr/local/hdfeos/include"

export HDFEOS_LIB="/usr/local/hdfeos/lib"

 

export BIN="… /ledapsSrc/bin"

export ANC_PATH="…/LedapsAnc"

export PATH=$PATH:"…/ledapsSrc/bin"

然后运行source env.sh。当然,更好的方式是,将这些内容添加到/etc/profile里面,然后注销。这样每次启动都自动保存这些路径。

3)安装

进入… /ledapsSrc/src目录,输入makemake installOk了(根据本人目前的这些设置,lndsrbm仍然无法编译成功,不过不影响得到sr数据,有人知道如何解决还请帮忙指出)。

编译成功后会在… /ledapsSrc/bin下添加lndpm,lndapp, lndcal, lndsr, sixsV1.0B5个可执行文件。

5. 使用

其中,lndpm是预处理,lndcal是将DN值转化为TOAlndsr会调用sixsV1.0B,用来计算地表反射率。

实际使用时,直接执行:

csh do_ledaps.csh LT51240462005245BJC00_MTL.txt                

*示例文件名,假设do_ledaps.csh和影像在同一目录

 

等待4分半就会得到hdf格式的sr数据了(i7-47903.9GHZcpu4g内存)。

#8. 注意,待处理的Landsat影像前一定不能有目录,否则运行失败。即:

# csh do_ledaps.csh …/somedir/LT51240462005245BJC00_MTL.txt                失败

# csh …/somedir/do_ledaps.cshLT51240462005245BJC00_MTL.txt                 成功

 

如果还有其他问题,请仔细检查《4. LEDAPS安装》是否正确。

 

6. 版本和下载链接

jpegsrc.v6b           http://sourceforge.net/projects/libjpeg/files/libjpeg/

zlib-1.2.8            http://zlib.net/

szip-2.1              http://www.hdfgroup.org/HDF5/release/obtain5.html

tiff-4.0.6            http://www.linuxfromscratch.org/blfs/view/svn/general/libtiff.html

proj-4.9.2            https://github.com/OSGeo/proj.4/wiki

libgeotiff-1.3.0      http://trac.osgeo.org/geotiff/

hdf-4.2.11            http://www.hdfgroup.org/products/hdf4/

HDF-EOS2.19v1.00      http://hdfeos.org/software/library.php#HDF-EOS2



转载请保留以下版权信息:

广州地理研究所 姜浩 原创

jianghao_rs@outlook.com(一般交流);jianghao@gdas.ac.cn(学术交流)

http://blog.sciencenet.cn/blog-2919002-937921.html

 



https://m.sciencenet.cn/blog-2919002-937921.html


下一篇:LEDAPS v2.4.0大气校正系统安装流程

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-29 19:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部