SARscape 二次开发讲解

        官方给了一些讲解(地址:SARscape/SARscape IDL Scripting/SARscape batch object),以及一些参考例子(地址:SARscape/SARscape IDL Scripting/Example)都可以用来学习参考。

        SARscape 二次开发可以分为10个详细的步骤,下面我将多视(MultiLooking)开发的代码为例,进行讲解,完整的程序连接在本文末尾

步骤1. 批量初始化和临时目录设置(可选)

        启动SARscape模块,设置临时路径。

SARscape_Batch_Init,Temp_Directory=aTmp

步骤2. 显示所有 SARscape 函数(可选)

        这一个步骤是写程序是需要用到的,等确定SARScape模块调用的函数(类)的名称,可以删掉,具体用法可以查看前面提到的官方讲解。

;(obj_new('SARscapeBatch'))->Manifest

         注:最新几个版本可以用“.”代替“->”,只不过为了便于和属性、结构体区分,依然用这个表示

步骤3. 输入数据和参数

        这个可以打开ENVI SARscape模块,具体查看所需的参数

; 3) 输入数据和参数
  ;  inRasterName_data = theTestDir+Path_sep()+'_pwr';
  ;  outRasterName = theTestDir+Path_sep()+'output'+Path_sep()+'_geo';
  ;  inRasterName_dem = theTestDir+Path_sep()+'start_dem';;
  ;  aGridSize = 25.0

步骤4. 加载用户特定的默认文件

        这个默认文件是用来设置缓存文件、SARscape 首选项,具体设置可以参考博客

;4) 加载用户特定的默认文件(即 SARscape_preferences_user_Sentinel.sml)可选
  ;/FJEA_Program/Resource/SARscape_preferences_user_Sentinel_TOPSAR.sml
  default_file_name = File_dirname(myResult.path)+Path_sep()+'Resource'+Path_sep()+'SARscape_preferences_user_Sentinel_TOPSAR.sml'
  aRet = SARscape_set_save_actual_default_in_dfl (default_file_name)

步骤5. 设置工作目录可选(可选)

;5) 设置工作目录可选
  IF (SARscape_set_working_in_actual_default(aWorkDir) EQ 'NotOK') THEN BEGIN
    ok = Dialog_message('您必须初始化一个有效的工作目录' ,/ERROR)
    SARscape_Batch_Exit
    Return
  ENDIF

步骤6. 创建具体对象

        这一个是用来选择功能的,例如:导入哨兵一号数据、多视、InSAR、DInDAR、滤波、裁剪……其对应的函数可以通过步骤2来查找;

; 6) 创建 IMPORTSENTINEL1FORMAT 对象
  aActualStep =  0
  oSB = Obj_new('SARscapeBatch',Module='INSARCOMPLEXDATAMULTILOOKING')
  IF (~Obj_valid(oSB)) THEN BEGIN
    ; 对象无效,然后用户必须管理错误
    ; 退出 SARscape 批处理
    SARscape_Batch_Exit
    Return
  ENDIF

步骤7. 填写参数

        即需要将参数填入到步骤6中的对象中,具体查看需要填写的参数可以用,并对比ENVI SARscape,如下图所示;

;oSB.Listparams
oSB->Setparam,'input_file_name', Files[index];必须是一个一个文件处理,因此写循环
oSB->Setparam,'output_file_name', Out_Path_Name

步骤8. 验证参数

        这个步骤是用来验证填入的参数是否可行。

;8) 验证参数
    ok = oSB->Verifyparams(Silent=0)
    IF ~ok THEN BEGIN
      Print,' ************************************************************* '
      Print,' 模块无法执行; 一些参数需要填写 '
      Print,' ************************************************************* '
      ; Exit from SARscape batch
      SARscape_Batch_Exit
      Return;
    ENDIF

步骤9. 流程执行

        根据前面选择的对象以及设置的参数,来具体处理数据;

;OK = oSB->Executeprogress()
OK = oSB->Execute()

        以上两个代码,区别之处在于前一个有处理进度;后面一个没有进度;想用前面的代码,则必须打开ENVI。也可以用下面的代码来判断ENVI是否打开,来自动选择;

IF (Strpos(!PROMPT,'ENVI') GT -1 ) THEN BEGIN
      OK = oSB->Executeprogress(show_end_dialog='NotOK')
    ENDIF ELSE BEGIN
      OK = oSB->Execute();
    ENDELSE
    IF ~ok THEN BEGIN
      Print,' 多视处理:失败 '
      SARscape_Batch_Exit
      Return
    ENDIF

        

步骤10. 退出批处理程序

        最后一步,就是关闭SARScape模块

; 10)退出批处理程序
  SARscape_Batch_Exit

注:

        1. 在代码的第一句,需要加上下面这句代码。因为遥感数据范围很大,常规的数据空间(例如:int 2个字节)保存不了,所以需要加上这句代码,即实现将数据保存的空间扩大,int型的字节变为4个

COMPILE_OPT idl2

        2. 以上代码,如果操作错误,其结果都是返回0或NotOK,正确时才会返回1或则OK。因此,可以加入判断,来判定程序出错地方;

完整的程序连接在本文末尾,程序截图如下:

 

 

点击下载完整的程序

路漫漫其修远兮,吾将上下而求索。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
著名雷达图像处理软件,提供完整的 提供完整的 提供完整的 SARSAR 数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像数据处 理功能,全面支持四种模式的:雷达强度图像理、雷达干涉测量( 理、雷达干涉测量( 理、雷达干涉测量( 理、雷达干涉测量( 理、雷达干涉测量( 理、雷达干涉测量( InSAR/DInSAR InSAR/DInSARInSAR/DInSAR InSAR/DInSAR InSAR/DInSAR InSAR/DInSARInSAR/DInSAR )、极化雷达处理( )、极化雷达处理( )、极化雷达处理( )、极化雷达处理( )、极化雷达处理( )、极化雷达处理( )、极化雷达处理( PolSARPolSARPolSAR PolSAR )、极化雷达干涉测量( )、极化雷达干涉测量( )、极化雷达干涉测量( )、极化雷达干涉测量( )、极化雷达干涉测量( )、极化雷达干涉测量( )、极化雷达干涉测量( )、极化雷达干涉测量( PoIInSARPoIInSARPoIInSAR PoIInSAR PoIInSAR ), 能让您轻松将原始 能让您轻松将原始 能让您轻松将原始 能让您轻松将原始 SARSARSAR数据进行处理和分析,输出 数据进行处理和分析,输出 数据进行处理和分析,输出 数据进行处理和分析,输出 数据进行处理和分析,输出 数据进行处理和分析,输出 数据进行处理和分析,输出 SARSAR 图像产品、数字高程模型( 图像产品、数字高程模型( 图像产品、数字高程模型( 图像产品、数字高程模型( 图像产品、数字高程模型( 图像产品、数字高程模型( DEM ) 和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面和地表形变图等信息,并可以将提 取的与光学遥感数据、理集成在一起全面升 SARSAR 数据应用价值。 数据应用价值。 数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心网千结

若有所帮助,请点赞支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值