基于GMTSAR的Sentinel-1 SBAS数据处理
进入reframed目录,创建研究区的AOI,注意这里的经纬度,升降轨不太一样,第一个点可以设置为先成像的点,第二点设置为后成像的点。自动下载软件所识别的DEM格式:make_dem.csh 91 95 29 33 2(90米)可以先那一个文件测试一下,batch_tops.config文件需要在安装目录下复制过来。如果是多个IW,需要merge,这里我暂时没有,操作步骤和上面的一样。进入F2,创
参考链接:GMTSAR Documentation — GMTSAR 6.2 documentation
https://topex.ucsd.edu/gmtsar/tar/sentinel_time_series.pdf
数据处理环境:Ubuntu20.04系统
创建相应的文件目录:mkdir data orbit topo reframed F1、2、3(raw SLC intf_in topo batch_tops.config,从安装路径复制) merge
各个目录结构:

自动下载软件所识别的DEM格式:make_dem.csh 91 95 29 33 2(90米)
需要对下载的数据进行解压放置相应的路径下,
进入reframed目录,创建研究区的AOI,注意这里的经纬度,升降轨不太一样,第一个点可以设置为先成像的点,第二点设置为后成像的点。

下载哨兵精密轨道数据:download_sentinel_orbits_linux.csh list 1
make_dem.csh 100 104 30.0 32.5 1
ls -d $PWD/*.SAFE > SAFE_filelist
download_sentinel_orbits_linux.csh SAFE_filelist 1
#特别注意升降轨的经纬度范围,第一个点为先成像的点,第二个点为后成像的点。
根据上面的文件,重新构建SAFE文件
organize_files_tops_linux.csh SAFE_filelist ../reframed/xizang.ll 1 (下载精密轨道,提示哪些影像、多少行的数据即将被处理,不执行具体数据处理命令;报错可能是pill.ll的经纬度范围输入不正确)
organize_files_tops_linux.csh SAFE_filelist ../reframed/xizang.ll 2
#可能会生成多个F***_F***,将其他的SAFE放在一个文件即可,不放也没关系,主要是为了后面进行软链接。(文档说是卫星过境时间不同))
进入F3,创建raw,进入raw(若AOI在多个IW需要执行多次,处理步骤相同)
cd F3
mkdir raw
cd raw在raw目录下,检查数量
ln -s ../../data/F2444_F2447/*SAFE/*/*iw3*vv*xml .
ln -s ../../data/F2444_F2447/*SAFE/*/*iw3*vv*tiff .
ln -s ../../data/*EOF .
ln -s ../../topo/dem.grd .
##generate tab slc orbits 生成data.in文件,将主影像放置在第一行20220809,后续基准均以它为准
prep_data_linux.csh(为Sentinel-1批量预处理(preproc_batch_tops.csh)准备输入文件data.in)、按日期整理数据.xml文件,并匹配对应的EOF;执行prep_data_linux.csh,提示没有.cshrc文件,直接在相应路径创建即可)

#make_s1a_tops根据xml和tiff文件,生成*PRM元数据和*LED多普勒文件;ext_orb_s1a将精密轨道加入,提升轨道精度;calc_dop_orb计算多普勒频率和地球,添加至*PRM中(基线计算)
生成baseline_table.dat 时空基线等参数文件,快速查看基线表和图,看是否适合处理
preproc_batch_tops.csh data.in dem.grd 1
preproc_batch_tops_esd.csh data.in dem.grd 1 2
完整的处理,生成具体的文件,时间较长
preproc_batch_tops.csh data.in dem.grd 2
preproc_batch_tops_esd.csh data.in dem.grd 1 2
cp baseline_table.dat ../
ls *ALL*PRM > prmlist
get_baseline_table.csh prmlist S1_20220809_ALL_F3.PRM
cd ..在F3目录下
设置时空基线网络
select_pairs.csh baseline_table.dat 50 120
选择一个干涉对,试一试数据处理是否正常
head -1 intf.in > one.in
ln -s ../topo/ .
不要软链接文件夹,否则下一步报错。相应的文件复制不过来。直接复制更好,软链接可能实效,导致下一步报错。
#需要拷贝batch_tops.config文件至当前目录,修改相关参数。主要修改主影像参数和处理的部分。
intf_tops.csh one.in batch_tops.config
region_cut为起止行列号
上一步测试的结果没有什么问题的话,在第19行,将proc_stage = 1改为2;proc_stage = 2
intf_tops_parallel.csh intf.in batch_tops.config 12 >& itp.log & 一个节点大约需要8G内存;64G内存不要超过4
这时候并未进行相位解缠,相当于得到的是差分干涉相位数据
这里没有用到多个IW,不用merge
cd merge
ln -s ../F3/intf_all/* .
ls -d 20* > intflist
利用平均相干性文件,掩膜低质量区域
ls 20*/corr.grd > corr.grd_list
stack.csh corr.grd_list 1 corr.stack.grd std.grd
ncview corr.stack.grd 查看平均相干性文件,查看时序
gmt grdmath corr.stack.grd 0.075 GE 0 NAN = mask_def.grd 输出大于等于0.075小于该值为NAN
ncview mask_def.grd
在intf_all/merge 文件夹,snaphu_interp对阈值条件下的像素,采用最邻近插值;unwrap_intf.csh
unwrap_parallel.csh intflist 12
在merge目录
cp ../F3/intf.in .
cp ../F3/baseline_table.dat .
prep_sbas.csh intf.in baseline_table.dat ../merge unwrap.grd corr.grd
生成intf.tab scene.tab文件,用于SBAS反演
cat intf.in | wc -l cat scene.tab | wc -l
gmt grdinfo ../merge/date1_date2/unwrap.grd x n_columns: 750(x_dim) y n_rows: 600(y_dim)
干涉图的数量、SAR影像的数量、干涉图的维度(行列号)
sbas intf.tab scene.tab 368 113 750 600 -incidence 37 -wavelength 0.0554658 -smooth 5.0 -rms -dem
ncview vel.grd mm/yr
后处理(地理编码)
ln -s ../F3/topo/trans.dat .
proj_ra2ll.csh trans.dat vel.grd vel_ll.grd
正负50的CPT,间隔10
gmt grd2cpt vel_ll.grd -Z -Cjet -T-50/50/10 > vel_ll.cpt
grd2kml.csh vel_ll vel_ll.cpt ##vel_ll.kml
##grd2geotiff失败。-a_ullr xmin ymax xmax ymin
#gdal_translate -of GTiff -a_srs EPSG:4326 -a_ullr 100.868 32.0909 101.104 31.9075 vel_ll.grd vel_ll.tiff
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)