之前成功地在linux安装了GMTSAR,我这个linux是指win10系统的WSL。
安装了GMTSAR,就要用起来,现在来讲讲如何使用GMTSAR进行D-Insar处理。
以下均为实际操作。
首先在wsl创建新文件夹insar_test,记住这文件夹,后面一切的数据数据都在这个文件夹,或该文件夹的子文件夹下处理。
mkdir /home/insar_test
进入该文件夹
cd /home/insar_test
1.raw文件夹在/home/insar_test创建raw文件夹
mkdir /home/insar_test/raw
raw文件夹存放SENTINEL1影像和对应的精准轨道文件。
在ASF官网下载哨兵数据和哥白尼官网下载轨道数据。
ASF下载哨兵数据官网
esa下载数据官网
我的影像数据存放如下:
精准轨道文件的下载可以参考这篇文章:
一定要看一下上面的文章,不然分不清该下载哪个轨道数据。
貌似https://s1qc.asf.alaska.edu/aux_poeorb/的轨道数据没有2023年和2024年,所以我去欧空局下载对应的哨兵1轨道数据。
tips:其实GM ...
对GMTSAR的D-InSAR得到的结果数据有很多,其中栅格数据类型为grd。
grd数据其实本质上是一种HDF数据(NC数据),在envi或者arcgis是无法打开直接这种的数据。
怎么在python读取grd使用gdal可以轻松读取grd,请看下面的代码。
from osgeo import gdal, osr
file = r'los_ll.grd'
ds = gdal.Open(file)
data = ds.GetRasterBand(1).ReadAsArray()
grd的数据就读取到电脑内存中,而data 是从栅格文件 los_ll.grd 读取的数据数组。它是一个 NumPy 数组,代表了栅格文件中的数值数据。
在pycharm中,data数据如下所示:
data数据的大小为2620x3480,说明data数据的高有2620行,data数据的宽有3480列。
换句话说,2620 表示栅格数据集在垂直方向上有 2620 个像素。这意味着如果你把这个数据集想象成一张图像,那么它的高度是 2620 像素。同样地,3480 表示栅格数据集在水平方向上的宽度,即从左到右的像素 ...
linux
未读Miniconda 和 Conda 都是用于管理 Python(及其他语言)环境和包的工具。
conda对于我来说是太臃肿了,很多的包我不会使用,所以选择安装miniconda是一个较好的选择。
下面是linux安装miniconda的实际操作。
在以下的网站,选择你要安装的Miniconda的版本。
https://docs.conda.io/en/latest/miniconda.html#linux-installers
1、下载安装包Miniconda3-latest-Linux-x86_64.sh
2、把安装包上传到服务器上,这里放在 /home/software
3、安装
bash Miniconda3-latest-Linux-x86_64.sh
4、按回车
5、按空格跳到最下面,输入yes
6、选择安装位置,这里选择默认,直接回车,有需要可以自己输入改掉
Miniconda3 will now be installed into this location:
/root/miniconda3
- Press ENTER to confirm the loca ...
在本教程中,我将向您展示如何在 Windows 10 环境中安装 GMTSAR。在尝试在 Windows 10 中安装此软件之前,您需要激活 WSL。有许多教程解释了如何执行此操作,或者您可以按照此处的教程进行操作。
ubuntu换国内源https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
安装gmtsar以下是如何在 Windows 10 中安装 GMTSAR 的分步说明
sudo apt install subversion ghostscript build-essential cmake libnetcdf-dev libfftw3-dev libpcre3-dev libgdal-dev gdal-bin
下载gmt:
git clone https://github.com/GenericMappingTools/gmt
下载GSHHG和DCW文件。
GSHHG 是 GMT 的附加文件,用于绘制海岸线、河流和政治边界,而 DCW 是 GMT 的附加文件,用于绘制国家多边形。
转到 CMAKE 文件夹,在您之前下载的 GMT ...
GMTSAR 是一款出色的工具,可让您在使用 GMT 的同时分析 SAR 卫星图像。不过,我仍在学习如何使用它。今天我只介绍一下安装方法。
安装官方安装教程:https://github.com/gmtsar/gmtsar/wiki
以下是如何在 Ubuntu22.04安装 GMTSAR 的分步说明
安装依赖包安装GMT
#!/bin/bash
sudo apt install -y csh subversion autoconf libtiff5-dev libhdf5-dev wget liblapack-dev gfortran g++ libgmt-dev gmt-dcw gmt-gshhg gmt
下载 ENIVSAT 的轨道文件需要下载 ENVISAT 的轨道数据。
#!/bin/bash
sudo mkdir /usr/local/orbits
wget http://topex.ucsd.edu/gmtsar/tar/ORBITS.tar
sudo mv /usr/local/orbits
cd /usr/local/orbits
sudo tar -xvf ORBI ...
轨道信息对于InSAR(干涉合成孔径雷达)数据处理至关重要,因为它影响从初始图像配准到最终形变图像生成的整个过程。不准确的轨道信息会导致基线误差,这些误差会以残差条纹的形式出现在干涉图中。为了消除由轨道误差引起的系统性误差,使用高精度的卫星轨道数据进行校正是非常必要的。在使用Sentinel-1数据进行InSAR处理时,推荐在数据导入阶段就使用精密轨道文件。
Sentinel-1数据提供了两种类型的轨道数据:
POD Precise Orbit Ephemerides(POD精密定轨星历数据):
这是最精确的轨道数据类型。
数据发布通常在GNSS(全球导航卫星系统)数据下传后大约21天。
每天会生成一个文件,每个文件覆盖26小时的时间范围(包括当天的24小时以及前一天和后一天各一个小时)。
定位精度优于5厘米。
POD Restituted Orbit(POD回归轨道数据):
相较之下,这是一种较为精确的轨道数据类型。
文件在接收GNSS数据后的3小时内生成。
覆盖一个完整的卫星轨道周期,从升交点(Ascending Node)前593个OSV(Orbit State Vecto ...
深度学习
未读Failed to import pytorch fbgemm.dll or one of its dependencies is missing
这往往是你的电脑缺少了某些微软的dll文件。所以报错了。
解决办法前往https://www.dllme.com/dll/files/libomp140_x86_64?sort=upload&arch=0x8664
点击。
按照你的电脑是否为64位进行选择
下载到本地。
把上图中的dll文件复制到你的电脑C:\Windows\System32 文件夹下面。
然后再进入命令行python环境,
输入import torch
测试是否可以成功加载torch
Failed to import pytorch fbgemm.dll or one of its dependencies is missing
这往往是你的电脑缺少了某些微软的dll文件。所以报错了。
解决办法前往https://www.dllme.com/dll/files/libomp140_x86_64?sort=upload&arch=0x8664
点击。
按照你的电脑是否为64位进行选择
下载到本地。
把上图中的dll文件复制到你的电脑C:\Windows\System32 文件夹下面。
然后再进入命令行python环境,
输入import torch
测试是否可以成功加载torch
不报错则说明万事大吉!
RLE (Run-Length Encoding) 是一种简单的无损数据压缩算法,常用于压缩图像数据。在图像处理中,特别是位图图像的存储和传输方面,RLE 可以有效地减少存储空间或带宽需求。
RLE 的基本思想是将连续出现的相同数据用一个计数和该值来代替。例如,在黑白图像中,如果有一系列连续的白色像素(假设用数字 1 表示),那么这一系列的像素可以用一个计数和数字 1 来表示。
RLE 编码示例rle = "1 2 4 3 7 1 9 5"
shape = (10, 10) # 图像尺寸为 10x10
这里的 RLE 编码 "1 2 4 3 7 1 9 5" 表示如下信息:
从位置 1 开始有 2 个连续的像素;
从位置 4 开始有 3 个连续的像素;
从位置 7 开始有 1 个连续的像素;
从位置 9 开始有 5 个连续的像素。
模拟实战import numpy as np
import matplotlib.pyplot as plt
def rle_decode(rle, shape, colors):
"""
解码 RLE 编码到彩色图像。
:p ...