前段时间,帮一项目负责人批量处理数据,虽然利用ENVI软件操作十分简单,选好RPC文件,点点按钮,等待处理完一景后,再重复点点按钮。然而,当数据量巨大,单景卫星数据影像RPC校正时间又长,让人去盯着,是不可能的事。
所需环境
- 上一篇7-zip批处理解压后数据
- ENVI5.1/IDL8.3及以上
程序下载
所需ENVI版本安装好,双击即可使用
rpcortho_batch.sav
主要代码
1 | FOR NX =0,FileCount -1 DO BEGIN ImageFile = GeoTiffFiles[NX] basename = FILE_BASENAME(ImageFile) indexstr = STRPOS( STRUPCASE(basename),".TIFF") out_name = STRMID(basename,0,indexstr) out_uri =output + out_name + '_rpc'; + '.tiff' Raster = e.OPENRASTER(ImageFile) ; 新建RPCOrthorectification ENVITask Task = ENVITASK('RPCOrthorectification') ; 设置Task的输入输出参数 Task.Input_raster = Raster Task.Dem_raster = DEM Task.Dem_is_height_above_ellipsoid = 0 Task.Output_raster_uri = out_uri ;Task.Output_Pixel_Size = 1000 ; 执行Task CATCH, errorStatus Task.EXECUTE, Error=error |