记录ISCE数据预处理中的一个坑

1.软件环境

Ubtuntu 18.04,  ISCE 2.3.2

2.处理内容

使用ISCE进行Stamps 数据准备,数据准备命令如下:

stackSentinel.py -s /tmp/isce/sgx1/data -d /tmp/isce/sgx1/dem/demLat_N27_N30_Lon_E102_E105.dem -b '27.94 28.09 103.3 103.5' -a /tmp/isce/sgx1/auxcal -o /tmp/isce/sgx1/orbits -m 20170904 -n 1 -C geometry -c all

命令的意思大概是,使用名为demLat_N27_N30_Lon_E102_E105.dem的DEM数据进行范围为 '27.94 28.09 103.3 103.5' 的数据处理;处理条带1(-n 1);使用geometry配准方式(-C geometry);选择全部干涉对组合条件,也就是穷举全部干涉对(-c all)进行干涉处理。

命令结束后会在运行目录生成一个run_files的文件夹,里面有处理步骤,逐个执行,就可以进行数据预处理。


总体目录结构

run_files文件夹下的文件如下图所示:

run_files文件夹目录下文件

3.遇到的问题

因为用类似的流程,已经处理过一些地方的数据,没有任何问题,但这次发现处理到第三步的时候报错(类似:no such file or directory geom_master/IW1 ),打开文件夹发现geom_master/IW1下文件夹为空,说明上面的步骤没有生成有效的文件。

其实,在做第一步的时候,就报错了,但是ISCE并没有停止处理,错误在控制台一闪而过,让人误以为没有问题。

4.错误排查与解决

(1)软件运行环境排查

因为这次处理,使用的是新计算机环境,怀疑软件配置存在问题,使用老计算机,还是报同样的错误,所以排除软件环境问题。

(2)数据排查

涉及到geom(地理编码的问题),大概率和DEM有关,因此查看DEM文件大小,打开DEM查看DEM范围均没有问题。

(3)单步执行排查

上面排查均未定位问题,所以就单步执行,看到底哪一步报错,首先打开run_files/run_1_unpack_slc_topo_master文件,可以看到里面由数行命令构成,如下图

run_1_unpack_slc_topo_master文件内容

把每行命令复制到控制台,逐行执行,发现第一行就报错了,提示找不到‘/tmp/isce/sgx/dem/demLat_N27_N30_Lon_E102_E105.dem.vrt’这个文件。

这里终于明白问题出在哪里了,之前我处理数据的文件夹命名为sgx,后来重新处理时,建立新的文件夹叫做sgx1,DEM相关的全部文件,都是从原文件夹复制过来的。

ISCE所需DEM文件有3个文件组成,如下图

DEM相关文件

其中,demLat_N27_N30_Lon_E102_E105.dem 是数据文件,demLat_N27_N30_Lon_E102_E105.dem.vrt和demLat_N27_N30_Lon_E102_E105.dem.xml文件是描述文件,可以用文本的方式打开。

逐个检查描述文件后,发现demLat_N27_N30_Lon_E102_E105.dem.xml内部字段,记录的是之前生成DEM时的路径,如下图

所以,修改为现在所用的路径,就解决问题了。

5.总结

(1)ISCE某些错误不会导致程序停止,但是文件处理不完整,调试需要单步排查;

(2)ISCE拼接DEM后,如果更换路径,可能会导致DEM无法使用,需要同步更改配置文件,或者使用dem.py脚本重新拼接一遍



欢迎大家加入qq群:792912665  交流开源GIS/RS软件使用心得。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容