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

  • 0 SNAP 简介
  • 1 SNAP和snaphu的安装
  • 1.1 SNAP安装
  • 1.2 snaphu安装
  • 1.2.1 Windows系统安装snaphu
  • 1.2.2 Linux系统中安装snaphu
  • 2 基于InSAR技术制作DEM的基本原理
  • 3 数据下载,包括sentinel-1 SLC数据、参考DEM数据、精密轨道数据
  • 3.1 sentinel-1 SLC数据
  • 3.2 参考DEM数据
  • 3.3 精密轨道数据
  • 4 在SNAP中用sentinel-1数据制作DEM的具体步骤
  • 4.1 Split----->Apply Orbit File---->Back Geocoding---->Enhanced Spectral Diversity
  • 4.2 Interogram Formation
  • 4.3 deburst,就是把之前的bursts合起来,选择上一步的成果,参数默认即可
  • 4.4 Multilook 多视,选择上一步的deb,其他默认
  • 4.5 Goldstein Phase Filtering 相位滤波,选择上一步的ML,其他默认
  • 4.6 snaphu export, 输出为snaphu文件
  • 4.7 snaphu-unwrapping 解缠
  • 4.8 snaphu-import,导入解缠好的文件
  • 4.9 Phase to Elevation 相位转高程
  • 4.10 subset,裁剪DEM(可选),可以看到上一步的成果很粗糙,边缘不可用,因此可以裁剪掉
  • 4.11 Geometic 地理编码

写在前面,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. 在SNAP中用sentinel-1数据制作DEM_遥感_04


  3. 在弹出的窗口中选择Available Plugins中点击SNAPHU Unwrapping,选择左下角的install
  4. 在SNAP中用sentinel-1数据制作DEM_sentinel_05


  • 由于我已经安装好了,所以我的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路径”,如下图
  • 在SNAP中用sentinel-1数据制作DEM_snaphu_06

    • 检查一下这个文件的权限,尝试更改权限
    • sudo chmod +x snaphu
    • 在SNAP中用sentinel-1数据制作DEM_snaphu_07


  • ok,这就没问题了。
  • 在SNAP中用sentinel-1数据制作DEM_DEM_08

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

2 基于InSAR技术制作DEM的基本原理
InSAR DEM 技术流程图,源自《SARscape培训教程》,作者:Esri中国信息技术有限公司

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

具体技术细节在此不多说,请参考博文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. 在SNAP中用sentinel-1数据制作DEM_snap_10


  3. 在SNAP中用sentinel-1数据制作DEM_遥感_11

  4. 点击GraphBuilder
  5. 在SNAP中用sentinel-1数据制作DEM_snaphu_12

  • 右键Add ,添加各个模块

    • Read读取文件
    • 在SNAP中用sentinel-1数据制作DEM_DEM_13


    • TOPSAR-Split
    • 在SNAP中用sentinel-1数据制作DEM_snaphu_14


    • Apply-Orbit-File
    • 在SNAP中用sentinel-1数据制作DEM_DEM_15


    • Back-GeoCoding
    • 在SNAP中用sentinel-1数据制作DEM_DEM_16


    • Enhanced Spectral Diversity
    • 在SNAP中用sentinel-1数据制作DEM_DEM_17


    • Write
    • 在SNAP中用sentinel-1数据制作DEM_snaphu_18


  • 完整模型
  • 在SNAP中用sentinel-1数据制作DEM_snaphu_19

  1. Read中放置原始数据,日期早的在前,日期晚的在后
  2. 在SNAP中用sentinel-1数据制作DEM_遥感_20


  3. 在SNAP中用sentinel-1数据制作DEM_snap_21

  4. 在TOPSAR-Split中选择subwath(IW)和极化,以及Bursts
    一个sentinel-1数据包括左中右3个IW,一个IW包括9个brust,如下图所示IW2,Bursts为1-6
  5. 在SNAP中用sentinel-1数据制作DEM_snaphu_22

  6. 在Apply-Orbit-File中选择轨道数据,可以选择自动下载,如果自动下载不成功就手动下载,precise表示精密轨道。
  7. 在SNAP中用sentinel-1数据制作DEM_DEM_23

  8. 在Back-Geocoding中选择参考DEM,这个我建议事先现在好,选择External DEM,选择放置路径和NoData值即可,因为自动下载很慢。
  9. 在SNAP中用sentinel-1数据制作DEM_snaphu_24


  10. 在SNAP中用sentinel-1数据制作DEM_snap_25

  11. Enhanced Spectral Diversity默认即可

  12. Write选择一个文件夹,name后缀为_Orb_Stack_esd,表示做了哪些步骤
  13. 在SNAP中用sentinel-1数据制作DEM_snap_26

  14. 点Run即可运行

4.2 Interogram Formation

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

  • 选择上一步做好的esd文件,其他的默认即可
  • 在SNAP中用sentinel-1数据制作DEM_snap_28


  • 在SNAP中用sentinel-1数据制作DEM_遥感_29


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

在SNAP中用sentinel-1数据制作DEM_遥感_30


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


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

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

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


在SNAP中用sentinel-1数据制作DEM_遥感_34


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


在SNAP中用sentinel-1数据制作DEM_遥感_36

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

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


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


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

  • 滤波前后的相位图
  • 在SNAP中用sentinel-1数据制作DEM_遥感_40


4.6 snaphu export, 输出为snaphu文件

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

  • 选择上一步的flt文件
  • 在SNAP中用sentinel-1数据制作DEM_DEM_42


  • 设定好输出文件夹,选择TOPO模式,设置一定范围的重叠区,点击run
  • 在SNAP中用sentinel-1数据制作DEM_遥感_43


4.7 snaphu-unwrapping 解缠

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

  • 选择phase开头的snaphu.img格式的文件
  • 在SNAP中用sentinel-1数据制作DEM_DEM_45


  • 点击显示执行进程,选择输出文件夹,下面的黑框会显示执行日志,这个解缠花费的时间比别的步骤都长,如果进度条一闪而过,那就是snaphu没安装好,请再次仔细阅读本文1.2snaphu安装的内容
  • 在SNAP中用sentinel-1数据制作DEM_snaphu_46


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

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

  • 1- Read-Pahse选择之前做好的flt文件,2- Read-Unwrapped-Phase选择上一步解缠后的UnwPhase开头snaphu.hdr结尾的文件
  • 在SNAP中用sentinel-1数据制作DEM_DEM_48


  • 在SNAP中用sentinel-1数据制作DEM_sentinel_49

  • 3-snaphuimport默认
  • 在SNAP中用sentinel-1数据制作DEM_DEM_50

  • 4- Write随便写,能记住就行
  • 在SNAP中用sentinel-1数据制作DEM_sentinel_51

4.9 Phase to Elevation 相位转高程

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

  • 选择上一步做好的import文件
  • 在SNAP中用sentinel-1数据制作DEM_snaphu_53


  • 选择外部DEM,设置NoData值
  • 在SNAP中用sentinel-1数据制作DEM_DEM_54


  • 这一步的DEM成果,但不是最终成果
  • 在SNAP中用sentinel-1数据制作DEM_snap_55


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

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

  • 编辑这个蓝色框即可,其他默认,点击OK后,可以在左边看到
  • 在SNAP中用sentinel-1数据制作DEM_sentinel_57


  • 在SNAP中用sentinel-1数据制作DEM_遥感_58

  • 现在还是临时文件,打开看一下范围是否合适
  • 在SNAP中用sentinel-1数据制作DEM_遥感_59

  • 觉得合适,就右键这个文件,点击save product as
  • 在SNAP中用sentinel-1数据制作DEM_snaphu_60


  • 在SNAP中用sentinel-1数据制作DEM_遥感_61

4.11 Geometic 地理编码

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

  • 选择输出文件夹,其他默认即可
  • 在SNAP中用sentinel-1数据制作DEM_snap_63

  • 可以看到分辨率是13.96*14.67,这个可以手动改大,但不宜改小,也可以选择DEM,这个意思是输出参考DEM,也就是你之前导入的外部DEM。
  • 在SNAP中用sentinel-1数据制作DEM_snap_64

  • DEM最终成果
  • 在SNAP中用sentinel-1数据制作DEM_snap_65

  • 将DEM导出,选中需要导出的elevation_VV,然后点击左上角的File,点击Export,导出为GeoTIFF格式
  • 在SNAP中用sentinel-1数据制作DEM_DEM_66

  • 在其他GIS软件中打开,效果很不理想
  • 在SNAP中用sentinel-1数据制作DEM_遥感_67


  • 在SNAP中用sentinel-1数据制作DEM_snap_68

感谢阅读!