WuYK的个人博客分享 http://blog.sciencenet.cn/u/WuYK

博文

[转载]gamma转stamps流程

已有 2554 次阅读 2021-11-4 16:52 |个人分类:insar|系统分类:科研笔记|文章来源:转载

1.背景说明

stamps是时序分析软件,所以前面的预处理,需要各种软件完成,比如snap,doris,gamma,isce,将预处理完成的数据,输送给stamps,做后续的处理,一般给stamps的数据主要包含以下几个层面:

1.配准后的干涉对

2.干涉数据(ps和单主影像两两干涉、sbas各个干涉对两两干涉)

3.地形数据

4.空间坐标数据,lon.raw和lat.raw文件

5.其他辅助定义文件,比如文件路径、位置、宽度等等,一般用文本明码表示

stamps要做的就是根据后向散射稳定性,去选取候选点位,然后进行时序处理。

stamps(1,2),是进行数据信息的加载,一些参数的计算,就是将二进制文件格式、其他文件格式,统一转换为matlab文件格式;

stamps(3,4), 是进行点位的二次选择,尤其第三步,可能重新计算相干性,进行ps点的选择

stamps(5,8),时序分析、噪声相位去除等工作

所以,如果,数据转换过来,问题出在1、2步,可能是某些数据准备存在问题,常见问题有以下几种:

1.文件夹命名不规范,怎么规范,就得参考手册了

2.文件位数不对,例如需要进行swap_byte 进行转换

3.DEM有问题,表现为hgt.mat文件里面的数值不对

4.lon.raw lon.raw里面的数值有问题,表现为ps1.mat 下面的lonlat变量数值不是经纬度

等等等

2.gamma转stamps的介绍

2.1先说下坑

网络上不常见gamma转stamps的介绍,国外谷歌论坛小组上有一些人用的是gamma_resampled_setup命令,以及一系列操作准备数据,该操作的本质是将gamma的数据结果转为doris格式,再通过doris软件进stamps的流程就行。相当于

gamma-->doris-->stamps

即使你顺利活过了ps的处理流程,到small_baseline的处理流程,也会折戟沉沙,而且排除小基线处理流程的错误,需要对整个流程比较深的理解,才能修改掉错误。

所以,既然stamps有专门的转换流程,干嘛舍近求远,先转doris,再转stamps呢?

当然,直接使用gamma的流程,也有坑,但坑小的多,下面进入正题,说说如何转换。

2.2如何转换

下图是手册中,对于gamma需要准备的文件的定义,主要包含:

(1)配准后的文件

gamma配准后的文件,主文件后缀为slc,其他slave文件后缀为rslc,就这一点要注意的

(2)干涉文件

slave 和master的干涉文件,使用mk_diff_2d(gamma命令)生成。比如主影像日期为20210402,有2个slave影像[20210222,20210321],mk_diff_2d运行完之后会有以下文件

20210402_20210222.diff

20210402_20210222.base

20210402_20210222.cc

20210402_20210321.diff

20210402_20210321.base

20210402_2021032.cc

相干系数文件cc,是后续不需要的,把diff文件和base文件,进行重命名,放在diff0文件夹下,重命名后如下:

diff0/20210222.diff

diff0/20210222.base

diff0/20210321.diff

diff0/20210321.base

注意!主影像不用和自己干涉哈

这样配准影像和干涉对,都准备好了。

(3)geo 文件准备

geo文件中的dem文件,就是gamma做干涉用的dem(雷达向,和主影像大小一致 的那个),注意直接改名拿过来用,不用做swap_byte!!!

重要的事情再说一遍,DEM不用做swap_byte !!!!

下面就是最头疼的两个lon、lat文件的准备,网上很多人在问,但是国内国外论坛中,都没看到有说准备的方法,还有人说不准备这两个文件也是可以的,emm……当然是不可以的!!!

花了一段时间,摸索出来了准备方法,亲测可行,步骤如下(以下都是gamma的命令):

①使用mkgird  命令,建立一个和主影像大小一致的pointlist 文件,比如,主影像是9000*12000的,就建一个9000*12000的文件

②使用data2pt 文件,把栅格的dem转换为点格式的,这一步是给第三步用的

③用pt2geo对第一步生成的pointlist,就是主影像的每个像元,生成其对应的空间经纬度数据,pt2geo的函数说明如下:

图中打红色箭头的,就是我们想要的文件。

这个文件是二进制存储的,里面的数据是这样的:[104.01,30.02,0.1.02,30.03……],经纬度交替分布,而我们想要的lon文件是[104.01,104.02……],lat文件是[30.01,30.02……]

所以需要把上述文件拆开,python可以做这件事情,不过首先要将

plat_lon 进行swap_byte plat_lon  plat_lon4 4

然后用Python进行拆分,当然用matlab或者其他自己熟悉的软件也行,python进行转换的代码如下:

```python

import numpy as np

dataPath="your path"

cors=np.fromfile(dataPath+'plat_lon4 ',np.float32)

lon=cors[0:len(cors):2]

lat=cors[1:len(cors):2]

lon.tofile(dataPath+'lon.raw')

lat.tofile(dataPath+'lat.raw')

print('done!')

```

注意,拆分后的lon和lat文件,我这了还要做一次swap_byte 4,真的是神奇。

至此,全部数据准备好了,后续使用mt_prep_gamma命令,就能进行ps数据的准备,可以成功生成path了。你以为坑就完了?NONONO

手册里,说明了子文件夹应该整理成啥样,但是没说上一级目录的命名,而stamps获取主影像的日期的方法是通过上一级目录的文件名,这里我把上一级目录命名为

INSAR_20210402

最后,准备好的文件目录如下:

INSAR_20210402

              ----rslc/20210402.slc

              ----rslc/20210402.slc.par

              ----rslc/20210222.slc

              ----rslc/20210222.slc.par

             ----diff0/20210222.diff

              ----diff0/20210222.base

              ----geo/20210402_dem.rdc

               ----geo/20210402.lon

               ----geo/20210402.lat

这样stamps就能通过文件名,获取正确的主影像日期,到这……差不多就完事了。

后续small_baseline的处理方式,可以如法炮制,然后就是合并ps、sb的结果,做MTI处理……



作者:很Q的GIS
链接:https://www.jianshu.com/p/a34bc5c54cc5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。




https://m.sciencenet.cn/blog-3473451-1310937.html

上一篇:不同时序软件的SBAS结果对比
下一篇:基于SBAS-InSAR技术的滑坡形变监测

1 张鹰

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-4 19:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部