使用StaMPS / MTI进行PSI分析–第2部分:使用SNAP进行预处理

亲爱的大家,

we’回到使用StaMPS进行的PSI处理的第二轮:

定义兴趣区域

需要描述感兴趣区域的GeoJSON文件(简单要素访问标准)。创建ROI多边形的最简单方法是将现有图层转换为QGIS中的边界框(载体/研究工具/提取层范围)或通过创建新图层并手动映射ROI多边形:

  • 图层/创建图层/新Shapefile图层
  • 切换编辑
  • 编辑/添加功能

无论哪种方式,结果都可以通过以下方式导出为GeoJSON 导出/将特征另存为/ GeoJSON。导出时,请记住选择EPSG:4326(WGS84)作为CRS。

获取SENTINEL-1数据

通过Open Access Hub下载

Downloading a bulk of Sentinel images, either S1 or S2, is not very smooth if you use the GUI from the Open Access Hub. However, the 哨兵sat 蟒蛇 package does provide a nice interface to the API:

from 哨兵sat import SentinelAPI, read_geojson, geojson_to_wkt
api = SentinelAPI('username', 'password')
footprint = geojson_to_wkt(read_geojson('/path/to/roi.geojson'))
products = api.query(footprint,
                     platformname='Sentinel-1',
                     producttype='SLC',
                     orbitdirection='DESCENDING',
                     beginposition='[YYYY-MM-DDT00:00:00.000Z TO YYYY-MM-DDT00:00:00.000Z]',
                     sensoroperationalmode='IW',
                     polarisationmode='VV')
api.download_all(products, directory_path='/path/to/directory')

要查看可用于与服务器通信的所有选项,请查看 哨兵sat文档数据中心的原始API文档.

snap2stamps

一般信息

本章直接摘自 StaMPS手册snap2stamps-manual.

StaMPS与6.0版之后的ESA SentiNel应用程序平台(SNAP)生成的输出兼容。 SNAP允许用户使用其Graph Builder定义一系列xml文件,这些文件包含用户定义的处理工作流程。通过使用GPT命令(图形处理工具),这些文件可用于以批处理模式运行SNAP处理。

snap2stamps 包含一组图形以及python包装器,可让您针对与StaMPS PSI兼容的单个主干涉图自动进行干涉图处理链。可以在snap2stamps中提供的用户手册中找到有关提供的功能及其说明的信息,该用户手册已经计划了更新版本,从而增加了SNAP-StaMPS链的功能和兼容性。可以在手册中找到该软件包的参考(Foumelis et al。,2018)。

snap2stamps需要并提供以下步骤:

  1. 将从属映像按照与它们的获取时间相对应的方式分类在单独的文件夹中。
  2. 从站分割(如果需要,可进行切片组装),并使用精确/复位轨道替换带注释的轨道。
  3. 每个从机和子机完成了配准和干涉图生成。在这里,使用边界框执行辅助文件,如DEM和子集。振幅共配准的主从堆栈和具有仰角以及经正射校正的纬度和经度坐标的干涉图均保存为输出。
  4. 为每对共同注册的堆栈和干涉图生成的StaMPS兼容产品提供了StaMPS导出功能。

snap2stamps包含以下文件:

  • project.conf –具有处理所需的参数和路径的文件
  • slaves_prep.py –用于将从站分类到所需文件夹结构中的脚本
  • splitting_slaves_logging.py –奴隶分裂(和组装,如果需要)和轨道校正的脚本
  • coreg_ifg_topsar.py –主从融合和干涉测量生成的脚本
  • stamps_export.py –用于与StaMPS兼容的格式生成输出数据以进行PSI处理的脚本

请注意,snap2stamps需要Python 2.7。

snap2stamps工作流程

  • 使用以下命令在SNAP中选择最佳主机 雷达/干涉仪/ InSAR堆栈概述
  • 使用TOPSAR Split通过以下方式对整个图像进行子集 雷达/前哨1 TOPS / S-1 TOPS拆分。设置加工参数
    1. 斯瓦斯(IW 1-3),
    2. 极化(垂直发送,垂直返回– VV), and
    3. 连发(使用连发滑块)
      在相应选项卡中。
  • 获取感兴趣的PSI区域的LAT / LON MIN / MAX(边界框)。
    这可以通过例如从QGIS中的ROI多边形(图层属性/元数据/属性/范围)。
  • (To keep a backup, you might want to simply copy your snap2stamps bin and graphs folders to your working directory). Edit project.conf to set up the configuration for your project. An example configuration file might look like this:
  ######### CONFIGURATION FILE ######
  ###################################
  # PROJECT DEFINITION
  PROJECTFOLDER=/home/user/.../project
  GRAPHSFOLDER=/home/user/.../project/graphs
  ##################################
  # PROCESSING PARAMETERS
  IW1=IW2
  MASTER=/home/user/.../master/S1B_IW_SLC__1SDV_..._split.dim
  ##################################
  # AOI BBOX DEFINITION
  LONMIN=14.xx
  LATMIN=47.xx
  LONMAX=14.xx
  LATMAX=47.xx
  ##################################
  # SNAP GPT 
  GPTBIN_PATH=/usr/local/snap/bin/gpt
  ##################################
  # COMPUTING RESOURCES TO EMPLOY
  CPU=12
  CACHE=32G
  ##################################
  • 移动母版(zip + TOPS– Split Output) to the directory master in your PROJECTFOLDER.
  • Make sure that all slave images (zip) are stored in the subfolder slaves in the PROJECTFOLDER.
  • Check if all libraries are available for your 蟒蛇 2 installation (you might need to pip install pathlib)。 I strongly recommended to use a corresponding conda environment for 蟒蛇 2.7: conda activate snap2stamps.
  • 直接在您的shell中运行snap2stamp的python脚本:
  # slave sorting
  # (fast)
  python slaves_prep.py project.conf

  # slave splitting and orbit correction
  # (approx. 50 seconds per slave)
  python splitting_slaves.py project.conf

  # master-slave coregistration and interferometric generation
  # (approx. 180 seconds per slave)
  python coreg_ifg_topsar.py project.conf

  # ouput 数据 generation in StaMPS compatible format
  # (approx. 30 seconds)
  python stamps_export.py project.conf
  • The 数据 final output structure after performing the last step should contain these four folders: rslc, diff0, geo and dem within your INSAR_master_date folder.
  • Check for empty interferograms. If any exist, remove files containing the date of the empty file from the folders rslc and diff0. Otherwise, this will throw warnings related to 0 mean amplitude during the final preparation step use in stamps (i.e. mt_prep_snap) and eventually screw up the selection of PS candidates.
  • Prepare the 数据 set for final use in StaMPS using mt_prep_snapwith <yyyymmdd> being the master date. The path after the date is the full filepath to the INSAR_master_date folder:
mt_prep_snap /home/username/…/INSAR_master_date/ DA
  • 振幅色散指数 D_A 是描述幅度稳定性的值,该值用于预选像素,因此减少了用于相位分析的像素数量。计算为 D_A =\frac{\sigma_A}{\mu_A},在哪里 \sigma_A 是标准偏差, \mu_A 是一系列振幅值的平均值。
  • 推荐范围 D_A 是0.4-0.42。阈值越高,将选择更多像素进行相位分析。请注意,振幅不稳定的水和植被等表面表现出较高的 D_A values than bedrock outcroppings or man-made strucutres (i.e. most likeley PS pixels). See Ferretti et al. (2001) and Hooper et al. (2007) for further information. Additional arguments for mt_prep_snap are only needed for large areas (i.e. if multiple patches are processed).
  • Finally, launch matlab to continue with StaMPS PS analysis.

这是获得Sentinel-1 SLC数据并准备将其进一步用于StaMPS的基本处理链。

关于作者

马蒂亚斯在维也纳自然资源与生命科学大学学习了环境信息管理,并获得了环境统计博士学位。他的论文的重点是罕见(极端)事件的统计建模,作为对关键基础设施进行漏洞评估的基础。他目前在奥地利国家气象和地球物理服务局(ZAMG)和BOKU大学山区风险工程研究所工作。他目前专注于(统计)不良天气事件和自然灾害以及减少灾害风险的评估。他的主要兴趣是环境现象的统计建模以及用于数据科学,地理信息和遥感的开源工具。

5条留言

您可以在这篇文章中发表评论。


  • 嗨,我正在为我的大学研究一个主题,我刚刚看到了你的帖子。我想知道您能否在几个问题上帮助我。

    我正在尝试在哥伦比亚某个区域(超过2个Burst的Sentinel图像)中运行该过程。
    按照您的分步过程进行操作(在Windows 10上使用4 cpus和20 GB)。

    我正在查看您刚刚为Stamps准备数据时采用的那些时间步骤。
    在代码“python coreg_ifg_topsar.py project.conf”而且由于我的机器功能比您少,因此我希望该过程比您花费的时间更长。但这实际上花费了很长时间(半天而没有结束该过程)。
    你认为我应该改变某些东西还是因为手术系统或类似的东西

    卡米洛·德拉·霍兹(Camilo De La Hoz Lozano) 1年前 回复


    • 你好

      主从配准和干涉测量生成确实是最耗时的预处理步骤。运行脚本所需的时间取决于时间序列的长度和时间(即图像的数量),区域的大小和计算性能。例如,如果您在整个可用时间段(2016-2019年)中同时使用S-1A和S1-B图像,则在速度较慢的计算机上确实会花费一些时间。但是,超过12个小时的确确实很长。不幸的是,除了您的AOI和所使用的CPU资源的边界框之外,您没有太多可调整的地方。

      马蒂亚斯 1年前 回复


      • 问题出在定义CACHE和CPU的地方。
        我没有解决它。但是,我把它作为评论,它很好用(每个奴隶花了我25分钟的时间)。我仍在尝试解决这种情况的原因。相信与Windows操作系统有关

        卡米洛·德拉·霍兹(Camilo De La Hoz Lozano) 10个月前 回复


  • 问候,我正在研究水坝的沉降问题,高水位是没有植被覆盖的区域,也就是说,它们位于哨兵C波段的间隙,我认为它可以确定沉降和在大坝的土木工程中,但我’我仍然处于与Snaphu进行开发的阶段,从这个意义上说,我有以下问题:
    从snaphu获得的数据有多准确,以及在应用PSI或SBAS技术时它们有多少差异。如果您当前没有PSI处理带有SNAP邮票的视频。

    奥立佛 1年前 回复


  • 您能制作一个教程视频吗,因为我是linux的新手。这将非常有帮助

    卡齐(Kazi Hifajat) 9个月前 回复


发表回复

*