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文件夹下的文件如下图所示:
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文件,可以看到里面由数行命令构成,如下图
把每行命令复制到控制台,逐行执行,发现第一行就报错了,提示找不到‘/tmp/isce/sgx/dem/demLat_N27_N30_Lon_E102_E105.dem.vrt’这个文件。
这里终于明白问题出在哪里了,之前我处理数据的文件夹命名为sgx,后来重新处理时,建立新的文件夹叫做sgx1,DEM相关的全部文件,都是从原文件夹复制过来的。
ISCE所需DEM文件有3个文件组成,如下图
其中,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软件使用心得。