SNAP-StaMPS流程

时间:2024-02-21 11:09:54

SNAP-StaMPS全流程讲解

前言

该教程只包括SNAP-StaMPS处理PSI,请自行安装Doris或者Gamma预处理SBAS!

软件下载

软件名 版本号 下载链接
SNAP 8.0 点击这里
VMware Workstation 16 Pro 点击这里
MATLAB R2017b Linux 自行下载
StaMPS v4.1b 点击这里
StaMPS Visualizer 3.0 点击这里
ubuntu 20.04.2.0 LTS 点击这里

数据下载

数据名 下载链接
哨兵一号影像 点击这里 或者点击这里
精轨数据 点击这里
SRTM 90m dem数据 点击这里

哨兵影像用第二个ASF下载更快,支持python和IDM下载,
IDM下载方式为:
1、百度随便下载一个IDM客户端
2、在ASF选好影像后将队列全部添加到下载购物车
3、点击下载购物车标志,点击copy URL
4、打开IDM客户端,在工具栏中找到从剪切板中下载
5、点击下载即可

软件安装

SNAP

SNAP通过ESA官方下载---点击这里---
进入网站后,找到图示位置主节点下载(Main Download)点击下载,如果下不动点击下方镜像下载(Mirror Download),如果您是32位机器,选择WIndows 32-Bit的对应位置下载!
20210523183542
SNAP安装勾选默认安装选项即可

VMware Workstation

点击链接进入网页---点击这里---往下翻,找到图示位置点击下载
20210523184207
安装按照默认步骤安装

Ubuntu

点击链接进入网页---点击这里---推荐下载上面的版本,比较稳定
20210523184841
下载完成后,打开VMware workstation pro,点击左上方"文件->新建虚拟机",前面几步默认即可,在图示步骤,选择安装程序光盘映像文件,点击浏览,打开下载的Ubuntu.iso文件,
20210523190751
再点击下一步,直到进入图示界面,其中全名不重要随便输入,用户名密码非常重要,为你的Ubuntu系统中的用户名和密码,终端中可能要不断使用,请谨慎选择,如果是个人使用没有保密数据,建议输入
用户名:admin
密码:123456
确认:123456
或者
用户名:姓氏(输入你的姓氏)
密码:123456
确认:123456
20210523190923
下一步处理器数量,按需选择,建议不要少于4核
下一步内存选择,此处选择越大越好,建议不要少于8g,如果后续发现内存不够或者内存过多,可以调节
20210523191430
继续点击下一步默认,直到指定硬盘容量,建议越大越好,如果你的预处理和StaMPS处理全部在虚拟机里完成,请自行根据影像量计算分配大小(一副SAR影像大概4g),其实还可以通过共享文件夹直接处理数据,在这里不详述,如果你按教程操作过一遍,就很容易理解。
20210523191613
然后点击下一步直到完成,就创建成功了,随后vmware会自动启动你的Ubuntu虚拟机完成Ubuntu安装,如未启动,请自行启动或者重新进行上述步骤进行安装。

解决虚拟机与物理机传文件问题

如果你直接在Ubuntu下载的MATLAB和StaMPS,请忽略此步骤!
如果按照下述步骤,仍然无法看到共享文件夹,可能是VMware tools 未安装成功,请参考---点击这里---
完成上述步骤后,就应该安装MATLAB和StaMPS了,将两个软件移到上述设置的共享文件夹内。

共享文件夹设置如下:
点击VMware左上方"虚拟机->设置->选项->共享文件夹"点击图示添加共享文件夹和上方的总是启用
20210523192759

但是如果你在Ubuntu的文件管理器找到共享文件夹(/mnt/hgfs),你可能发现文件夹是空的(第一次会默认开启hgfs,往后可能需要输入以下命令打开),

按下ctrl+alt+T打开Ubuntu终端,输入如下命令:

sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000

再输入你的密码

再cd到/mnt/hgfs/你的分享文件夹名字,应该就能成功进入了。

然后把你下载的MATLAB和StaMPS、SNAP导出的StaMPS格式数据从共享文件夹内复制到虚拟机内,建议都放在一个文件夹内,方便在终端输入。

或者直接挂载共享文件夹,这里建议直接复制到虚拟机内,不然每次启动都要执行上面的命令开启共享文件夹。

MATLAB

MATLAB请自行找到下载地址,百度上很多,如果找不到,欢迎¥咨询。
安装步骤参考---点击这里---

StaMPS

点击链接进入网页---点击这里---先点击Code再点击Download ZIP
20210523185614

下载完成并导入虚拟机后(建议先在Windows解压),在ubuntu的文件管理器,找到解压后的StaMPS文件夹下的src文件夹,
20210523195611
在空白处右键,点击在在终端打开(Open in terminal)
20210523195657
输入
make
完成后输入
make install
就成了

环境配置

环境配置参考---点击这里---

数据处理

SNAP预处理

graph TB img[[S1A IW SLC]] --> 1 1(S-1 TOPS Split) --> 2(Apply Orbit File); 2 --> 3(S-1 Back Geocoding); 3 --> stack1[[Stack 1 backGeo]] stack1 --> 4(S-1 TOPS Deburst); 4 --> stack2[[Stack 2 Deb]] 4 --> 5(Subset); 5 --> 6(Interferogram Formation) 6 --> stack3[[Stack3 Ifg]] stack2 --> 7(StaMPS Export) stack3 --> 7 7 --> output[[StaMPS folder]]

StaMPS PSI处理

graph TB folder1[[Export Folder]] --> 1[mt_prep_snap]; 1 --> 2[stamps1=>8]

StaMPS-Visualizer

该软件用于PS成果可视化,只要安装了R环境和RStudio,于linux和windows都可以使用
点击链接进入网页---点击这里---先点击Code再点击Download ZIP
20210523185435

常见报错解决

SNAP

处理数据时显示包含JAVA字样,一般是内存爆了,可以按照如下方法修改配置文件:

方法1:
找到图示位置文件,或者你自己自定义安装snap的位置

C:\Program Files\snap\etc\snap.conf

用记事本或任意文本编辑器打开该文件,找到Xmx11G改成Xmx6G,或适合你的内存大小

方法2:
如果方法1无效,在你的SNAP软件界面中找到(Tools->Options->Performance),修改里面的cache大小

方法3:
windows10系统下,按下ctrl+s,输入java,点击弹出的JAVA配置,修改里面分配的内存大小。

StaMPS

问题1:
make或make install报错
解决方法:
StaMPS不支持gcc 9.0编译,所以make,和make install会失败
你需要安装gcc 7.0。
安装多个gcc以及选择gcc的方法参考这里---点击链接---

问题2:
stamps(3,3)
出现如下字样

Failed to load module: /usr/lib/x864_64 linux gnu/gio/modules/libgiolibproxy.so

是因为安装matlab时没有将破解文件放入指定文件夹,如果都按默认位置安装,(自定义安装请自行修改地址),解决方法如下:
在终端(ctrl+alt+T)输入:

# cd  /usr/local/MATLAB/R2017b   (or wherever you may have installed MATLAB)
# cd sys/os/glnxa64
# mkdir exclude
# mv libstdc++.so.6* exclude/
# exit

问题3:
stamps(4,4)
出现如下字样

Error:  Input must have at least three input vertices.
Error using fgets
Invalid file identifier. Use fopen to generate a valid file identifier.

Error in fgetl (line 33)
[tline,lt] = fgets(fid);

Error in ps_weed (line 287)
    header=str2num(fgetl(fid));

Error in stamps (line 174)
            ps_weed;

该问题是因为使用了错误的预处理(mt_prep_gamma或mt_prep_gamma_snap)版本,在github下载最新版StaMPS并在第一步使用---点击这里---

mt_prep_snap

即可

问题4:
stamps(6,6)
出现如下字样:

Error using uw_grid_wrapped (line 84)
Minimum dimension of the resampled grid (0 pixels) is less than prefilter window size (32)

Error in uw_3d (line 155)
uw_grid_wrapped(ph,xy,options.grid_size,options.prefilt_win,options.goldfilt_flag,options.lowfilt_flag,options.gold_alpha,options.ph_uw_predef);

Error in ps_unwrap (line 235)
    [ph_uw_some,msd_some]=uw_3d(ph_w(:,unwrap_ifg_index),ps.xy,day,ifgday_ix(unwrap_ifg_index,:),ps.bperp(unwrap_ifg_index),options);
    
Error in stamps (line 504)
        ps_unwrap
-----------------------------------

SNAP中的subset步骤裁剪区域过小,需要更大的学习区。

问题5:
出现如下字样:

matrix exceeded(矩阵超限)
用SNAP检查干涉图中是否有空白影像,将之删除

ubuntu

问题1:
共享文件夹为空
"\mnt\hgfs" empty
在终端输入如下命令:

sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000 

问题2:
mt_prep_snap无法操作
进行两个步骤
首先找到你的StaMPS/bin文件夹下的mt_prep_snap文件用终端赋予其所有人(all users)读写权限

chmod 777 /StaMPS/bin/mt_prep_snap

输入如下命令,将bash文件导入终端的工作空间,使得终端可以识别你的命令

source /StaMPS/StaMPS_Config.bash