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