在Linux系统中使用GAMMA Software(以Manjaro 22.1.3为例)

本文详细描述了在Linux系统中,特别是在Manjaro环境下安装和配置GAMMASoftware的过程,包括设置环境变量、安装依赖项(如FFTW、libgtk、gdal等)、处理软链接和使用tcsh。同时提供了关于版权提示和软件使用参考的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GAMMA Software是瑞士GAMMA Remote Sensing公司开发的商用软件,处理SAR数据时功能十分强大。曾经口罩期间没法返校,在WSL2-Ubuntu22.04环境下安装了GAMMA_update_20111201版本完成了上机操作实习课。其中disras等功能需要用到界面的功能则利用了WSLg,配合微软商店中的付费软件GWSL显示界面,比之前记录的利用xrdp远程连接使用桌面的方法更流畅。折腾Manjaro时回忆记录一下安装过程。

本机环境:Manjaro 22.1.3,Linux 6.1内核,GNome 44桌面环境

1 配置环境变量

解压到本地,在$HOME目录下建一个文件夹Software,将JetBrains全家桶以及控制台应用(如gfzrnx)、各种AppImage等等放在这个文件夹下,GAMMA软件也是如此。

1.1 授予可执行权限

sudo chmod -R 777 ~/Software/GAMMA_update_20111201

1.2 将bin目录和scripts目录加入$PATH变量

例如想要使用GAMMA软件的stat_pt功能,需要进行如下步骤:

# 进入某个功能所在目录
cd ~/Software/GAMMA_update_20111201/IPTA/bin
# 执行`stat_pt`程序
./stat_pt

要处理数据的话,还需要输入一长串路径,比较麻烦。

为了无论在哪个目录下都可以像使用cd一样直接输入功能的名字来使用,需要将所有功能所在目录加入环境变量$PATH中。Manjaro默认使用zsh作为shell,可以修改$HOME目录下的.zshrc文件:

cd
# vim已装好,也可以直接在文件管理器中用gedit打开
vim .zshrc

.zshrc中添加如下内容:

# 简化路径,用变量存储
export GAMMA_HOME=$HOME/Software/GAMMA_update_20111201
export MSP_HOME=$GAMMA_HOME/MSP
export ISP_HOME=$GAMMA_HOME/ISP
export DIFF_HOME=$GAMMA_HOME/DIFF
export DISP_HOME=$GAMMA_HOME/DISP
export LAT_HOME=$GAMMA_HOME/LAT
export IPTA_HOME=$GAMMA_HOME/IPTA
# 将bin中的可执行程序和scripts中的批处理脚本加入$PATH中方便调用
export PATH=$PATH:\
$DISP_HOME/bin:$MSP_HOME/bin:$ISP_HOME/bin:$DIFF_HOME/bin:$LAT_HOME/bin:$IPTA_HOME/bin:\
$MSP_HOME/scripts:$ISP_HOME/scripts/:$DIFF_HOME/scripts:$LAT_HOME/scripts:$IPTA_HOME/scripts

:wq保存退出,而后使得shell加载.zshrc中的环境变量:

source .zshrc

进行如是操作后,在任意目录下都可以调用GAMMA软件的各种功能。某种意义上的“安装”此时已经完成。
1

图1 zsh中可以联想到GAMMA的相关功能

然而,运行时会报错,因为GAMMA软件中没有包含依赖项,接下来处理依赖。

2

图2 运行时报错

2 安装与处理依赖项

$GAMMA_HOME目录下的INSTALL_BINARY.txt文件详细地介绍了安装流程以及GAMMA所需的各种依赖。在本科上机实习课也可能用不到所有的功能,只需要其中的几个可执行文件。可以使用ldd命令查看某个可执行文件所需的依赖:

ldd $DISP_HOME/bin/data2geotiff

部分结果如下:

3

图3 ldd命令查询结果

其中,=> not found即为缺少的依赖项,结合google就可以解决 。接下来还是把课上用到的依赖项的解决方法记录一下。

2.1 fftw

快速傅里叶变换库,所需版本为2.1.5。pacman中的版本为3.3.10,所以选择找资源下载。为了不污染本地环境,把头文件放进/usr/local/include文件夹,链接库及文件链接放入/usr/local/lib文件夹中。

sudo cp ./include/* /usr/local/include/
sudo cp ./lib/* /usr/local/lib

复制进去之后再次执行par_ACS_ERS测试,如果发现还是找不到,则需要将/usr/local/lib加入$LD_LIBRARY_PATH变量。

cd
vim .zshrc

.zshrc文件中追加

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

:wq保存退出后使用点命令:

source .zshrc

此时继续执行par_ACS_ERS,可以发现,输出了用法信息,可以使用了。
4

图4 正常情况下返回usage

2.2 libgtk与libgdk

GUI库,使用disras等命令查看图像时需要用到,所需版本为gtk2。

系统自带的GNome环境使用的是gtk4,版本比较新,需要自行使用pacman安装老版本。

sudo pacman -S gtk2

2.3 gdal与hdf5

gdal是一个开源GIS库,所需版本为1.5。libhdf5是对HDF5格式数据进行支持的库,所需版本为1.6.6。

libgdal1.5.0.so.1 => not found
libhdf5-1.6.6.so.0 => not found

在使用data2geotiff将数据转为geotiff格式时需要使用到gdal,在处理HDF5格式的COSMO-SkyMed数据时需要用到libhdf5。同样使用pacman可以安装新版本:

sudo pacman -S gdal hdf5

由于依赖项指定了版本号,在这里通过建立软链接的方式解决。

cd /usr/lib
ls -lah

可以找到libgdallibhdf5的文件链接:

libgdal.so.33.3.7.0
libhdf5.so.310.1.0

libgdal.so.33.3.7.0建立软链接libgdal1.5.0.so.1

sudo ln -s libgdal.so.33.3.7.0 libgdal1.5.0.so.1

libhdf5.so.310.1.0建立软链接libhdf5-1.6.6.so.0:

sudo ln -s libhdf5.so.310.1.0 libhdf5-1.6.6.so.0

2.4 xmgrace

画图软件,可以绘制干涉像对组合和每个点的形变速率等图。Manjaro官方仓库中没有此软件,需要到AUR源中编译安装。

# 需要先安装AUR源管理器yay
sudo pacman -S yay
yay -S grace

2.5 tcsh

增强版C Shell,有一些脚本需要使用csh环境运行。使用pacman安装即可。

sudo pacman -S tcsh

3 温馨提示

强烈建议选择正版软件!

本文仅对安装过程作了回顾,软件使用方法请参考教材。

参考文献

[1] 杨红磊, 彭军还, 康志忠, 等. InSAR技术原理及实践[M]. 北京 : 科学出版社, 2021

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyre丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值