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的对应位置下载!
SNAP安装勾选默认安装选项即可
VMware Workstation
点击链接进入网页---点击这里---往下翻,找到图示位置点击下载
安装按照默认步骤安装
Ubuntu
点击链接进入网页---点击这里---推荐下载上面的版本,比较稳定
下载完成后,打开VMware workstation pro,点击左上方"文件->新建虚拟机",前面几步默认即可,在图示步骤,选择安装程序光盘映像文件,点击浏览,打开下载的Ubuntu.iso文件,
再点击下一步,直到进入图示界面,其中全名不重要随便输入,用户名和密码非常重要,为你的Ubuntu系统中的用户名和密码,终端中可能要不断使用,请谨慎选择,如果是个人使用没有保密数据,建议输入
用户名:admin
密码:123456
确认:123456
或者
用户名:姓氏(输入你的姓氏)
密码:123456
确认:123456
下一步处理器数量,按需选择,建议不要少于4核
下一步内存选择,此处选择越大越好,建议不要少于8g,如果后续发现内存不够或者内存过多,可以调节
继续点击下一步默认,直到指定硬盘容量,建议越大越好,如果你的预处理和StaMPS处理全部在虚拟机里完成,请自行根据影像量计算分配大小(一副SAR影像大概4g),其实还可以通过共享文件夹直接处理数据,在这里不详述,如果你按教程操作过一遍,就很容易理解。
然后点击下一步直到完成,就创建成功了,随后vmware会自动启动你的Ubuntu虚拟机完成Ubuntu安装,如未启动,请自行启动或者重新进行上述步骤进行安装。
解决虚拟机与物理机传文件问题
如果你直接在Ubuntu下载的MATLAB和StaMPS,请忽略此步骤!
如果按照下述步骤,仍然无法看到共享文件夹,可能是VMware tools 未安装成功,请参考---点击这里---
完成上述步骤后,就应该安装MATLAB和StaMPS了,将两个软件移到上述设置的共享文件夹内。
共享文件夹设置如下:
点击VMware左上方"虚拟机->设置->选项->共享文件夹"点击图示添加共享文件夹和上方的总是启用。
但是如果你在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
下载完成并导入虚拟机后(建议先在Windows解压),在ubuntu的文件管理器,找到解压后的StaMPS文件夹下的src文件夹,
在空白处右键,点击在在终端打开(Open in terminal)
输入
make
完成后输入
make install
就成了
环境配置
环境配置参考---点击这里---
数据处理
SNAP预处理
StaMPS PSI处理
StaMPS-Visualizer
该软件用于PS成果可视化,只要安装了R环境和RStudio,于linux和windows都可以使用
点击链接进入网页---点击这里---先点击Code再点击Download ZIP
常见报错解决
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