在windows的ubuntu LTS中安装及使用EZ-InSAR进行InSAR数据处理

EZ-InSAR(曾被称为MIESAR,即Matlab界面用于易于使用的合成孔径雷达干涉测量)是一个用MATLAB编写的工具箱,用于通过易于使用的图形用户界面(GUI)进行干涉合成孔径雷达(InSAR)数据处理,利用开源软件包(ISCE+StaMPS/MintPy)进行处理。该工具箱现在可以使用ISCE生成SAR干涉图,并使用StaMPS或MintPy进行Persistent Scatters (PS) 或 Small-Baselines (SBAS) 方法的位移时间序列分析,安装过程如下。

1、安装ubuntu LTS

在这里插入图片描述
2、安装ubuntu远程桌面

sudo apt-get install xserver-xorg-core
sudo apt-get -y install xserver-xorg-input-all

重启桌面,每次第一次使用时都需要启动下

sudo  /etc/init.d/xrdp  restart

启动成功后会出现在这里插入图片描述
使用windows远程桌面进行链接
在这里插入图片描述
输入ubuntu的账号和密码
在这里插入图片描述
进入后如图
在这里插入图片描述
3、安装python环境,建议安装mamba,这里介绍下其与conda环境的区别。

conda与mamba的区别
Mamba底层依赖于conda,conda是单线程,Mamba做了优化可多线程下载,Mamba兼容conda的命令。
使用​​多线程下载​​repository data和packages; Mamba使用​​libsolv加速解决依赖关系​​
Mamba的核心部分是通过C++实现,以获得最大执行效率;
最重要的是​​Mamba可与conda完美兼容​​ (将conda执行命令中的conda换做mamba即可)。

安装代码

curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
bash Mambaforge-Linux-x86_64.sh 
sudo apt install gcc g++ gawk tcsh build-essential make git
pip install wget gitpython tree mamba

创建python环境

sudo apt install python3.8-venv
python -m venv InSARenv
source InSARenv/bin/activate

4、ubuntu中安装matlab
安装参考链接:https://zhuanlan.zhihu.com/p/572662952
安装后需要用到下面的工具箱,确保都安装好,用ver检查

Curve Fitting Toolbox
Financial Toolbox
Image Processing Toolbox
Mapping Toolbox
Optimization Toolbox
Parallel Computing Toolbox
Signal Processing Toolbox
Statistics and Machine Learning Toolbox

5、安装InSAR处理所需环境

创建安装路径及下载安装包

# A. Define the path where you want the packages to be installed (Default:Your HOME path-"$HOME") EZINSAR_HOME="$HOME"           		  #Set the install path tools_insar=$EZINSAR_HOME/tools_insar
tool_DIR=$tools_insar/proc_insar
sudo mkdir -p $tool_DIR# B. Download the source code (EZ-InSAR, ISCE, MintPy, StaMPS, TRAIN)
## Download EZ-InSAR source file, and put the unzipped EZ-InSAR into the "EZINSAR" directory in $tool_insar.sudo git clone https://github.com/alexisInSAR/EZ-InSAR.git $tools_insar/EZ-InSAR
sudo mv $tools_insar/EZ-InSAR $tools_insar/EZINSAR## Download the InSAR processor codes 
sudo git clone https://github.com/isce-framework/isce2.git $tool_DIR/isce2  
sudo git clone https://github.com/insarlab/MintPy.git      $tool_DIR/MintPy 
sudo git clone https://github.com/insarwxw/StaMPS.git      $tool_DIR/StaMPS
sudo git clone https://github.com/dbekaert/TRAIN.git       $tool_DIR/StaMPS/TRAIN# C. Edit the configuration file
## 1) - Copy the configure template file "config_InSARenv.template" from the "EZINSAR/EZINSAR_BIN/docs/" directory into "$tools_insar";  
##    - Check and replace the PATH variable "$EZINSAR_HOME" in "config_InSARenv.rc" (Line #3). 
##    - Check and replace the Path varialbe $APS_toolbox in TRAIN 
##    - The other variables do not need to be modified if you strictly follow this install instruciton.sudo cp $tools_insar/EZINSAR/EZINSAR_BIN/docs/config_InSARenv.template $tools_insar/config_InSARenv.rcsudo sed -i "/EZINSAR_HOME=/c\EZINSAR_HOME=$EZINSAR_HOME"  $tools_insar/config_InSARenv.rc
sudo sed -i "/APS_toolbox=/c\APS_toolbox=$tool_DIR/StaMPS/TRAIN" $tool_DIR/StaMPS/TRAIN/APS_CONFIG.sh## 2) Add the following lines in your "$HOME/.bashrc" file. 
##    Note you have to change the variable "$EZINSAR_HOME" if it is installed in a differnt PATH (e.g., /usr/local). # EZ-InSAR & InSARenv
EZINSAR_HOME="$HOME"           		 
export tools_insar="$EZINSAR_HOME/tools_insar"
alias load_insar='conda activate InSARenv; source $tools_insar/config_InSARenv.rc'# **IMPORTANT**: Run `load_insar` in the terminal to load the "InSARenv" environmental and PATH variables before running EZ-InSAR each time.

5、安装ISCE2

ISCE(InSAR Scientific Computing Environment)是一个用于地球表面形变监测和地震研究的开源软件工具包。它主要用于分析合成孔径雷达干涉测量(InSAR)数据,这些数据可以通过卫星或飞机获取,用于监测地表的微小变形,如地壳运动、火山活动、地震后的变形等。

ISCE提供了一系列用于处理InSAR数据的工具和库,以及用于数据预处理、核心干涉计算、变形建模和可视化的功能。这使得地球科学家和地球监测研究人员能够更好地理解地表的形变过程,从而更好地理解地质和地球物理现象。

ISCE是一个由NASA Jet Propulsion Laboratory(JPL)开发和维护的开源项目,它在地球科学领域广泛使用,并且在处理合成孔径雷达数据时具有很高的灵活性和可扩展性。这个工具包通常用于研究地壳变形、冰川变化、火山活动等领域的研究。这里安装较费时间。

mamba install -c conda-forge isce2

6、安装MintPy
MintPy(Miami INsar Time-series software in PYthon)是一个用于合成孔径雷达干涉测量(InSAR)数据处理和分析的开源软件工具包。它是由佛罗里达大学(University of Florida)的研究人员开发的,旨在帮助科学家和工程师处理和分析InSAR数据,以了解地表的形变情况。

MintPy提供了一系列功能,包括数据预处理、干涉计算、时序分析、形变建模和可视化工具。用户可以使用MintPy来处理卫星或飞机获取的雷达干涉数据,以监测地壳运动、地震、火山活动、地下水抽取等引起的地表形变。该工具包具有用户友好的界面,并且支持多种不同的InSAR数据格式。

MintPy是一个强大且灵活的工具,适用于各种地球科学研究领域,包括地质学、地球物理学、环境科学等。它可以帮助研究人员从InSAR数据中提取有关地表变化的重要信息,并用于了解地球上不同地区的地形演化和变化趋势。此外,MintPy是一个开源项目,因此用户可以自由访问和定制其代码以满足特定需求。

# Install the mintpy requirements first and then the source code.
# 
cd $tool_DIR
mamba install -c conda-forge --file ./MintPy/requirements.txt#Close and restart the shell for changes to take effect
python -m pip install -e ./MintPy

7、安装StaMPS
StaMPS(Stanford Method for Persistent Scatterers)是一种用于分析合成孔径雷达干涉测量(InSAR)数据的计算方法和工具包。它是由斯坦福大学的研究人员开发的,用于提取并分析具有较高干涉稳定性的地表散斑(Persistent Scatterers),这些散斑通常是建筑物、桥梁、电线塔等地表特征。

StaMPS的主要目标是识别和监测这些Persistent Scatterers的变化,从而了解地表的形变情况。StaMPS通过多次采集卫星雷达数据,识别在不同时期观测中散斑位置的相对稳定性,以便精确测量地表的形变、沉降或抬升。这对于地质研究、地震监测、城市规划和环境监测等应用非常有用。

StaMPS工具包包括一系列用于数据处理、干涉计算、变形建模和可视化的工具和算法。它通常用于处理高分辨率的卫星雷达数据,如TerraSAR-X、COSMO-SkyMed和Sentinel-1等。StaMPS已经在地球科学研究领域得到广泛应用,特别是在地壳运动、地震监测、城市沉降等领域,为科学家提供了有关地表变化的重要信息。

需要注意的是,StaMPS是一个相对复杂的工具,需要一定的专业知识来正确使用和解释结果。因此,它通常由地球科学领域的专家和研究人员使用。

### check which version of gcc
gcc -v  
#$ gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --config gcc
sudo update-alternatives --config g++ 
# A. Compile the files in the "src" directory in StaMPScd $tool_DIR/StaMPS/src
sudo make
sudo make install# B. Install "snaphu" & "triangle"  
# After the installation, run `which snaphu` && `which triangle` in the terminal to check their paths. 
# If the echo paths are not "/usr/bin", then modify the varialbes "SNAPHU_BIN" and "TRIANGLE_BIN" in the "config_InSARenv.rc" to the correct values.sudo apt install snaphu 
sudo apt install triangle-bin

8、安装EZ-InSAR

EZ-InSAR最大程度地减少了用户下载、参数化和处理SAR数据的工作,因此使那些对InSAR不太熟悉但仍然可以自行生成和分析地表位移的人能够轻松使用。EZ-InSAR还是大西洋地质灾害风险管理平台(AGEO)项目的一项贡献,该项目通过欧洲区域发展基金(European Regional Development Fund)资助,旨在帮助管理大西洋地区的地质风险。

这个工具箱的主要优点在于它的用户友好性,它使不熟悉InSAR技术的用户能够利用开源工具进行地表形变分析。它的目标是让更多的人能够使用InSAR技术,以更好地了解地表的变化和可能的地质风险。

mamba install fiona geopandas rasterio
cd $tool_DIR
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo unzip awscliv2.zip
sudo ./aws/install

在安装文件夹下的EZINSAR_BIN中修改文档pathinformation.txt中内容,将account-name、password改为ASF网站的账号和密码,下载Sentinel-1 数据用。

ASFID 	account-name
ASFPWD  password 

9、测试安装成功否
刷新安装环境,加载环境

source $HOME/.bashrc
load_insar  # warm up conda environment
echo $PATH
echo $TOOL_DIR $DATA_DIR $WEATHER_DIR

测试ISCE-2

topsApp.py -h

如下则安装成功
在这里插入图片描述

测试MintPy

smallbaselineApp.py -h

如下则安装成功
在这里插入图片描述
测试PySolid

solid_earth_tides.py -h

如下则安装成功
在这里插入图片描述

测试PyAPS

tropo_pyaps3.py -h

如下则安装成功
在这里插入图片描述
测试StaMPS

mt_prep_isce

如下则安装成功
在这里插入图片描述
10、启动EZ-InSAR
进入远程桌面,在命令窗口中输入:

load_insar

加载运行环境,再输入

matlab

启动matlab环境

如下:
在这里插入图片描述

11、使用EZ-InSAR
在matlab中输入EZ_InSAR,启动软件
在这里插入图片描述
在2中选择运行文件夹,点击后进入处理界面
在这里插入图片描述
具体使用参考手册:
https://github.com/alexisInSAR/EZ-InSAR/blob/Version_2_0_3_Beta/EZINSAR_BIN/docs/EZ_InSAR_manual_v2_0_3_beta.pdf

12、ubuntu环境迁移
由于默认ubuntu安装在c盘,会导致c盘存储不足的情况,因此建议迁移

  • 准备工作
    打开CMD,输入wsl -l -v查看wsl虚拟机的名称与状态。
    了解到本机的WSL全称为Ubuntu-22.04,以下的操作都将围绕这个来进行。
    输入 wsl --shutdown 使其停止运行,再次使用wsl -l -v确保其处于stopped状态。
  • 导出/恢复备份
    在D盘创建一个目录用来存放新的WSL,比如我创建了一个 D:\Ubuntu_WSL 。
    导出它的备份(比如命名为Ubuntu.tar)

wsl --export Ubuntu-22.04 D:\Ubuntu_WSL\Ubuntu.tar

确定在此目录下可以看见备份Ubuntu.tar文件之后,注销原有的wsl

wsl --unregister Ubuntu-22.04

将备份文件恢复到D:\Ubuntu_WSL中去

wsl --import Ubuntu-22.04 D:\Ubuntu_WSL D:\Ubuntu_WSL\Ubuntu.tar

这时候启动WSL,发现好像已经恢复正常了,但是用户变成了root,之前使用过的文件也看不见了。

  • 恢复默认用户
    在CMD中,输入 Linux发行版名称 config --default-user 原本用户名

Ubuntu2204 config --default-user cham

请注意,这里的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu2204。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源博客项目Blog .NET Core源码学习(3:数据库操作方式)

开源博客项目Blog采用SqlSugar模块连接并操作数据库,本文学习并记录项目中使用SqlSugar的方式和方法。   首先,数据库连接信息放在了App.Hosting项目的appsettings.json中DbConfig节,支持在DbConfig节配置多个数据库连接信息,以…

基于FFmpeg+SDL的视频播放器的制作

基于FFmpegSDL的视频播放器的制作 基于FFmpegSDL的视频播放器的制作实验1实验2实验3实验4基本练习进阶练习 实验5实验6 基于FFmpegSDL的视频播放器的制作 雷霄骅博士的课程。 课程链接:https://blog.csdn.net/leixiaohua1020/article/details/47068015 初学 FFmp…

MongoDB索引

索引支持在MongoDB中高效执行查询。如果没有索引,MongoDB必须扫描集合中的每个文档才能返回查询结果。如果查询存在适当的索引,MongoDB将使用该索引来限制它必须扫描的文档数。 尽管索引提高了查询性能,但添加索引对写入操作的性能有负面影响…

DataX

序言 弄过了Chunjun 过来搞搞DataX3.0 https://github.com/alibaba/DataXhttps://github.com/alibaba/DataX/blob/master/introduction.mdhttps://github.com/alibaba/DataX/blob/master/userGuid.md 简介 ​ DataX 是一个异构数据源离线同步工具,致力于实现包…

如何使用ArcGIS Pro直接获取道路中心线

以前使用ArcGIS获取道路中心线,需要先将面要素转换为栅格再获取中心线,现在我们可以通过ArcGIS Pro直接获取道路中心线,这里为大家介绍一下获取方法,希望能对你有所帮助。 新建地理数据库 在存储数据的文件夹上点击右键&#xff…

【C++】STL之list深度剖析及模拟实现

目录 前言 一、list 的使用 1、构造函数 2、迭代器 3、增删查改 4、其他函数使用 二、list 的模拟实现 1、节点的创建 2、push_back 和 push_front 3、普通迭代器 4、const 迭代器 5、增删查改(insert、erase、pop_back、pop_front) 6、构造函数和析构函数 6.1、默认构造…

CSS box-shadow阴影

1、语法 box-shadow: h-shadow v-shadow blur spread color inset; 值描述h-shadow必需的。水平阴影的位置。允许负值v-shadow必需的。垂直阴影的位置。允许负值blur可选。模糊距离spread可选。阴影的大小color可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表inset可选。…

【Linux】Linux远程访问Windows下的MySQL数据库

1.建立Windows防火墙规则 首先需要开放windows防火墙,针对3306端口单独创建一条规则,允许访问。 打开windows安全中心防火墙与保护,点击高级设置 进入之后,点击入站规则,新建一条规则 新建端口入站规则 端口填写330…

使用vue-cli搭建SPA项目

目录 引言 什么是SPA? Vue CLI 是什么? 步骤1:安装 Vue CLI 为什么选择 Vue CLI 作为项目搭建工具 安装vue-cli 步骤2:创建新的 Vue 项目 创建成功后的项目结构 步骤3:项目结构概述 vue项目结构说明 步骤4&a…

Vue中前端导出word文件

很多时候在工作中会碰到完全由前端导出word文件的需求,因此特地记录一下比较常用的几种方式。 一、提供一个word模板 该方法提供一个word模板文件,数据通过参数替换的方式传入word文件中,灵活性较差,适用于简单的文件导出。需要…

论文笔记(整理):轨迹相似度顶会论文中使用的数据集

0 汇总 数据类型数据名称数据处理出租车数据波尔图 原始数据:2013年7月到2014年6月,170万条数据 ICDE 2023 Contrastive Trajectory Similarity Learning with Dual-Feature Attention 过滤位于城市(或国家)区域之外的轨迹 过…

Idea引入thymeleaf失败解决方法

报错 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.Fri Sep 29 09:42:00 CST 2023 There was an unexpected error (typeNot Found, status404). 原因:html没有使用thymeleaf 首先要引入…

Linux Day18 TCP_UDP协议及相关知识

一、网络基础概念 1.1 网络 网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、 路由器等设备。 1.2 互联网 把多个网络连接起来就构成了互联网。目前最大的互联网就是因特网。 网络设备有:交换机、路由器、…

【MATLAB源码-第38期】基于OFDM的块状导频和梳状导频误码率性能对比,不同信道估计方法以及不同调制方式对比。

1、算法描述 块状导频和梳状导频都是用于无线通信系统中信道估计的方法。 块状导频: 定义: 在频域上,块状导频是连续放置的一组导频符号。这意味着所有的导频符号都集中在一个短的时间段内发送。 优点: 对于时间选择性信道&#…

Python 打印素数

"""打印素数介绍:素数是指只有两个正因数(1和它本身)的自然数,而且必须大于1。例如:2、3、5、7、11、13、17、19、23、29等等都是素数。小于2的数不是素数,因为它没有两个正因数。例如&…

基于JAVA+SpringBoot的新闻发布平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着科技的飞速发展和…

IO流 之 缓冲流(字节缓冲流和字符缓冲流)

缓冲流对原始流进行了包装,以提高原始流读写数据的性能。 字节缓冲流(BufferedInputStream和BufferedOutputStream) 字节缓冲流在内存中提供了一个默认为8kb的区域,用于缓冲,当流开始时,先读取一个8kb的内…

skywalking入门

参考: https://www.jianshu.com/p/ffa7ddcda4ab 参考: https://developer.aliyun.com/article/1201085 skywalking(APM) 调用链路分析以及应用监控分析工具 Skywalking主要由三大部分组成:agent、collector、webapp-…

十六.镜头知识之工业镜头的质量判断因素

十六.镜头知识之工业镜头的质量判断因素 文章目录 十六.镜头知识之工业镜头的质量判断因素1.分辨率(Resolution)2.明锐度(Acutance)3.景深(DOF):4. 最大相对孔径与光圈系数5.工业镜头各参数间的相互影响关系5.1.焦距大小的影响情况5.2.光圈大小的影响情况5.3.像场中…

CISSP学习笔记:人员安全和风险管理概念

第二章 人员安全和风险管理概念 2.1 促进人员安全策略 职责分离: 把关键的、重要的和敏感工作任务分配给若干不同的管理员或高级执行者,防止共谋工作职责:最小特权原则岗位轮换:提供知识冗余,减少伪造、数据更改、偷窃、阴谋破坏和信息滥用的风险&…