在SNAP中用sentinel-1数据制作DEM

文章介绍了如何利用SNAP软件和snaphu插件,基于InSAR技术处理sentinel-1数据来制作DEM。内容涵盖SNAP和snaphu的安装,数据下载,以及从Split到Geometic的详细处理步骤,包括相位滤波、解缠等关键环节。同时指出sentinel-1数据因时间基线长和C波段特性可能带来的挑战。

写在前面,Sentinel-1数据不适合做DEM,因为sentinel-1的时间基线较长,目前的数据是12天,那么获得的数据的相干性就比较差;C波段雷达的穿透能力不强,受地表植被、水域等因素影响较大,去相干是个大问题……还有很多原因

0 SNAP 简介

笔者使用过Windows和Linux版本,这两个版本的软件界面和操作习惯几乎完全一致,有些博主说Linux版本运行速度更快,笔者并无此感觉。且大部分使用者的Linux系统安装在虚拟机中,无法完全调动物理机的资源,因此建议物理机为Windows的同学使用Windows版本的SNAP。

1 SNAP和snaphu的安装

1.1 SNAP安装

  • 由于是开源软件,不需要破解,因此安装过程中只需要next,选择安装文件夹即可,没有复杂的步骤

1.2 snaphu安装

1.2.1 Windows系统安装snaphu

  1. 如果是Windows系统,点击Tools,选择Plugins
    在这里插入图片描述
  2. 在弹出的窗口中选择Available Plugins中点击SNAPHU Unwrapping,选择左下角的install
    在这里插入图片描述
  • 由于我已经安装好了,所以我的SNAPHU UnwrappingInstalled
    在这里插入图片描述
  1. 点击Tools中的Mange External Tools,查看status是否正常
    在这里插入图片描述
    在这里插入图片描述
  • 在Bundled Binaries中,查看Target Folder,打开这个文件夹,是否能找到snaphu的安装包,如果有,就是可以用的。
    在这里插入图片描述
    在这里插入图片描述

1.2.2 Linux系统中安装snaphu

  • 主要步骤如上所述Windows系统中安装snaphu,

  • 如果遇到Path does not exist:“snaphu路径”,如下图
    在这里插入图片描述

    • 检查一下这个文件的权限,尝试更改权限
    • sudo chmod +x snaphu
      在这里插入图片描述
  • ok,这就没问题了。
    在这里插入图片描述

  • 如果遇到其他报错等问题,可以参考网页https://forum.step.esa.int/t/snaphu-unwarping-path-error/29054/3

2 基于InSAR技术制作DEM的基本原理

InSAR DEM 技术流程图,源自《SARscape培训教程》,作者:Esri中国信息技术有限公司
在这里插入图片描述

具体技术细节在此不多说,请参考博文InSAR基础知识简介

一般不需要做数据聚焦,我们可以直接下载sentinel-1 SLC数据

3 数据下载,包括sentinel-1 SLC数据、参考DEM数据、精密轨道数据

请详细阅读下列博文,并下载好数据。

3.1 sentinel-1 SLC数据

  1. 哨兵-1 Sentinel-1数据下载(ASF)
  2. 哨兵-1 Sentinel-1数据下载(欧空局)
  3. 哨兵-1 Sentinel-1 数据下载(ONDA)

3.2 参考DEM数据

  1. QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)
  2. SARscape手动下载30mDEM(SRTM1 V3)切片数据-[EC: 40008]参考 5.在USGS下载DEM切片即可

3.3 精密轨道数据

3种方法下载Sentinel-1精密轨道数据

4 在SNAP中用sentinel-1数据制作DEM的具体步骤

打开SNAP,开始处理数据,准备好两期数据,覆盖范围一致,时间基线尽可能短

SNAP中可以使用工作流处理,这里我前一部分演示工作流,后面分步骤演示。

4.1 Split----->Apply Orbit File---->Back Geocoding---->Enhanced Spectral Diversity

如果你的电脑内存较大(32G以上),可以把这几步制作成工作流,如果内存小,可以一步一步来。

  1. 加载数据
    在这里插入图片描述
    在这里插入图片描述

  2. 点击GraphBuilder
    在这里插入图片描述

  • 右键Add ,添加各个模块

    • Read读取文件
      在这里插入图片描述
    • TOPSAR-Split
      在这里插入图片描述
    • Apply-Orbit-File
      在这里插入图片描述
    • Back-GeoCoding
      在这里插入图片描述
    • Enhanced Spectral Diversity
      在这里插入图片描述
    • Write
      在这里插入图片描述
  • 完整模型
    在这里插入图片描述

  1. Read中放置原始数据,日期早的在前,日期晚的在后
    在这里插入图片描述
    在这里插入图片描述

  2. 在TOPSAR-Split中选择subwath(IW)和极化,以及Bursts
    一个sentinel-1数据包括左中右3个IW,一个IW包括9个brust,如下图所示IW2,Bursts为1-6
    在这里插入图片描述

  3. 在Apply-Orbit-File中选择轨道数据,可以选择自动下载,如果自动下载不成功就手动下载,precise表示精密轨道。
    在这里插入图片描述

  4. 在Back-Geocoding中选择参考DEM,这个我建议事先现在好,选择External DEM,选择放置路径和NoData值即可,因为自动下载很慢。
    在这里插入图片描述
    在这里插入图片描述

  5. Enhanced Spectral Diversity默认即可

  6. Write选择一个文件夹,name后缀为_Orb_Stack_esd,表示做了哪些步骤
    在这里插入图片描述

  7. 点Run即可运行

4.2 Interogram Formation

在这里插入图片描述

  • 选择上一步做好的esd文件,其他的默认即可
    在这里插入图片描述
    在这里插入图片描述

4.3 deburst,就是把之前的bursts合起来,选择上一步的成果,参数默认即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 Multilook 多视,选择上一步的deb,其他默认

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5 Goldstein Phase Filtering 相位滤波,选择上一步的ML,其他默认

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 滤波前后的相位图
    在这里插入图片描述

4.6 snaphu export, 输出为snaphu文件

在这里插入图片描述

  • 选择上一步的flt文件
    在这里插入图片描述
  • 设定好输出文件夹,选择TOPO模式,设置一定范围的重叠区,点击run
    在这里插入图片描述

4.7 snaphu-unwrapping 解缠

在这里插入图片描述

  • 选择phase开头的snaphu.img格式的文件
    在这里插入图片描述
  • 点击显示执行进程,选择输出文件夹,下面的黑框会显示执行日志,这个解缠花费的时间比别的步骤都长,如果进度条一闪而过,那就是snaphu没安装好,请再次仔细阅读本文1.2snaphu安装的内容
    在这里插入图片描述

4.8 snaphu-import,导入解缠好的文件

在这里插入图片描述

  • 1- Read-Pahse选择之前做好的flt文件,2- Read-Unwrapped-Phase选择上一步解缠后的UnwPhase开头snaphu.hdr结尾的文件
    在这里插入图片描述
    在这里插入图片描述

  • 3-snaphuimport默认
    在这里插入图片描述

  • 4- Write随便写,能记住就行
    在这里插入图片描述

4.9 Phase to Elevation 相位转高程

在这里插入图片描述

  • 选择上一步做好的import文件
    在这里插入图片描述
  • 选择外部DEM,设置NoData值
    在这里插入图片描述
  • 这一步的DEM成果,但不是最终成果
    在这里插入图片描述

4.10 subset,裁剪DEM(可选),可以看到上一步的成果很粗糙,边缘不可用,因此可以裁剪掉

在这里插入图片描述

  • 编辑这个蓝色框即可,其他默认,点击OK后,可以在左边看到
    在这里插入图片描述
    在这里插入图片描述

  • 现在还是临时文件,打开看一下范围是否合适
    在这里插入图片描述

  • 觉得合适,就右键这个文件,点击save product as
    在这里插入图片描述
    在这里插入图片描述

4.11 Geometic 地理编码

在这里插入图片描述

  • 选择输出文件夹,其他默认即可
    在这里插入图片描述

  • 可以看到分辨率是13.96*14.67,这个可以手动改大,但不宜改小,也可以选择DEM,这个意思是输出参考DEM,也就是你之前导入的外部DEM。
    在这里插入图片描述

  • DEM最终成果在这里插入图片描述

  • 将DEM导出,选中需要导出的elevation_VV,然后点击左上角的File,点击Export,导出为GeoTIFF格式
    在这里插入图片描述

  • 在其他GIS软件中打开,效果很不理想
    在这里插入图片描述
    在这里插入图片描述

感谢阅读!

### Snaphu 安装指南 Snaphu 是一种用于合成孔径雷达(SAR)干涉测量数据处理的软件,主要用于相位解缠。以下是 Snaphu 的安装和配置指南。 #### 系统要求 在安装 Snaphu 之前,请确保系统满足以下要求: - 操作系统:支持 Linux、macOS 和 Windows。 - 编译器:需要安装 GCC 或其他兼容的 C++ 编译器。 - 开发工具:建议安装 CMake,以便简化构建过程[^3]。 #### 安装步骤 1. **下载源代码** 访问 Snaphu 的官方网站或 GitHub 仓库,下载最新版本的源代码。例如,可以通过以下命令克隆仓库: ```bash git clone https://github.com/insar/snapHu.git ``` 2. **配置环境** 确保已安装必要的依赖项。对于 Linux 系统,可以使用以下命令安装依赖项: ```bash sudo apt-get update sudo apt-get install build-essential cmake ``` 3. **编译与安装** 使用 CMake 构建项目并生成可执行文件: ```bash mkdir build cd build cmake .. make ``` 如果编译成功,会在 `build` 目录下生成 Snaphu 的可执行文件。 4. **验证安装** 运行以下命令以验证 Snaphu 是否正确安装: ```bash ./snaphu -h ``` 如果显示帮助信息,则说明安装成功[^3]。 #### 配置与使用 Snaphu 的配置通常通过输入文件完成,包括干涉图、相干性图等。以下是一个简单的示例脚本: ```bash snaphu input.cpx output unwrapped ``` 其中: - `input.cpx` 是输入的复数干涉图。 - `output unwrapped` 是输出的解缠相位文件。 #### 注意事项 - 如果处理大规模数据集,可能需要调整内存分配参数以避免溢出。 - 对于特定的应用场景,可能需要结合其他 SAR 数据处理工具(如 GMTSAR 或 ISCE)进行联合分析[^4]。 --- ### 示例代码 以下是一个简单的 Python 脚本,用于调用 Snaphu 并传递参数: ```python import subprocess def run_snaphu(input_file, output_file): command = f"snaphu {input_file} {output_file}" result = subprocess.run(command, shell=True, capture_output=True, text=True) if result.returncode == 0: print("Sn
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vigo*GIS_RS

来瓶可乐~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值