[笔记]Ubuntu下INSAR处理软件ROI_PAC的安装
http://www.linuxidc.com/Linux/2011-10/44952.htm
ROI_PAC主页上提供的安装方法比较繁琐,在Ubuntu下面可以比较简单地完成整个安装。
文章中涉及到命令大家不要硬敲,要灵活运用tab键补全。
0)ROI_PAC安装需要gcc,gfortran,perl环境,所以先看看这几个环境安装得怎么样,如果已经安装了,不要运行下面的命令。
$ sudo apt-get install gcc gfortran perl
0)ROI_PAC还需要一个很重要的环境设置
$ sudo apt-get install libfftw3-dev
1) ROI_PAC必须先安装fftw。目前最新版是3.3,下载地址。
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /pub/2011/06/21/Ubuntu下安装doris及相关软件教程/
$ tar xzfv fftw-3.3.tar.gz
$ cd fftw-3.3
$ ./configure --enable-float --prefix=/usr/local/fftw CC=gcc
//对于P3以上的多核心cpu,这条命令可以优化为 $./configure --enable-float --enable-sse --with-combined-threads
//将FFTW库安装到/usr/local/fftw文件夹中
$ make
$ sudo make install
//不在configure中指明安装目录时,fftw默认安装到/usr/local/lib和/usr/local/include里面,需要超级权限。
安装好fftw以后设定两个环境变量,ROI_PAC需要
$ export FFTW_LIB_DIR=/usr/local/lib
$ export FFTW_INC_DIR=/usr/local/include
2)下载ROI_PAC,并安装。
ROI_PAC的下载比较麻烦,我是在cdsn上下载的,谢谢资料分享人caozhentan。
下载的是ROI_PAC_3_0_1.tgz
$ tar xzfv ROI_PAC_3_0_1.tgz
$ cd ROI_PAC_3_0_1
$ cd ROI_PAC
$ ./configure
//如果gcc,gfortran,perl环境都安装好,fftw及环境变量设置也没有问题,那么这步是不会有问题的
$ make
$ sudo make install
这一步报错:
在设置了LIB和INC的环境变量的时候仍然显示无法找到FFTW的lib和include路径
按照提示上说明的:
在configure后面添加了命令提示:
$ ./configure LDFLAG=“-L/usr/local/fftw/lib” CPPFLAG="-I/usr/local/fftw/include"
另外,虽然不明确原因,但是使用gcc编译的FFTW库比c直接编译的FFTW库要顺利一些。
即在FFTW编译的时候使用,即使用:
$ sudo ./configure CC=cc
F:显示加入后缀之后的编译过程
make之后的文件仍然报错:
是找不到sfftwf文件,然后发现安装libfftw3-dev(应该是类似硬件驱动的东西)就可以了
$ sudo apt-get install libfftw3-dev
具体见:https://www.ruby-forum.com/topic/3304238
这样就完成了安装
ROI_PAC执行程序都在/usr/local/bin目录里
ROI_PAC包含文件都在/usr/local/share/roi_pac目录里
3) 修改PATH变量,一劳永逸。
$ cd
//回到登录目录
$ vi .bashrc
//不喜欢vi的可以用gedit,$ gedit .bashrc
将下面四行加到文件的末尾
export INT_BIN="/usr/local/bin"
export INT_SCR="/usr/local/share/roi_pac"
export FFTW_LIB="/usr/local/lib"
export PATH=$PATH:$INT_BIN:$INT_SCR:$FFTW_LIB
如果你熟悉shell,可以修改这四行。
对于我来说,我在安装doris的时候PATH中已经设置了/usr/local/bin,所以我第一行不需要了,最后一行也改动了。
或者也可以在SAR_CONFIG里面修改然后在.bashrc文件里面source一下
A)SAR_CONFIG中修改:
export INT_BIN="/usr/local/bin"
export INT_SCR="/usr/local/share/roi_pac"
export MY_BIN="/usr/local/bin"
export MY_SCR="/usr/local/share/roi_pac"
export FFTW_LIB="/usr/local/lib"
export FFTW_INC="/usr/local/include"
export PATH=$PATH:$INT_BIN:$INT_SCR
export ROI_PAC="/usr/local/ROI_PAC_3_0_1/ROI_PAC"
export SAR_PRC_DIR="$ROI_PAC/PRC"
export SAR_ODR_DIR="$ROI_PAC/ODR"
B)然后在~/.bashrc文件里面加一句
source /usr/local/ROI_PAC_3_0_1/ROI_PAC/DOC/SAR_CONFIG
4)安装ROI_PAC 3.0.1的两个补丁【没补上】//ALOS暂时用不着
4.1)第一个补丁安装方法在http://www.roipac.org/ALOS_PALSAR 下载make_raw_alos.pl,拷贝到/usr/local/share/roi_pac目录中。
但是使用中会提示 perl^M找不到。原因是make_raw_alos.pl是dos格式,需要转换为unix格式。
如果是第一次安装,请遵照下列命令
$ wget http://www.roipac.org/ALOS_PALSAR?action=AttachFile&do=get&target=make_raw_alos.pl
//可以直接用浏览器在http://www.roipac.org/ALOS_PALSAR找到相关链接,另存为到登录目录。
$ sudo apt-get install tofrodos
//安装 dos和unix格式转换工具
$ fromdos make_raw_alos.pl
//转换成unix格式,去掉^M
$ chmod a+x make_raw_alos.pl
//加上执行权限
$ sudo mv make_raw_alos.pl /usr/local/share/roi_pac
//把文件移到相应位置
4.2)第二个补丁是到ROI_PAC/fip目录下编译add_rmgAmpPhs.c,并且拷贝到/usr/local/bin目录下。
但是编译会出错。请遵照下面命令
$ cd ROI_PAC_3_0_1/ROI_PAC/fip
//我是在登录目录解压ROI_PAC的,进入fip目录
$ vi add_rmgAmpPhs.c
把下面一行内容加到文件第三行,可以用gedit add_rmgAmpPhs.c
#include <stdlib.h>
$ gcc -o add_rmgAmpPhs add_rmgAmpPhs.c
//编译
$ chmod a+x add_rmgAmpPhs
//加上执行权限
$ sudo mv add_rmgAmpPhs /usr/local/bin
//把文件移到相应位置
这样两个补丁也安装完成。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。