sunsett的个人博客分享 http://blog.sciencenet.cn/u/sunsett

博文

ENVI/IDL 编程:批量修复DEM坏值

已有 4375 次阅读 2019-3-4 20:49 |系统分类:科研笔记|关键词:学者

方法: 修复DEM坏值,主要的方法是delaunny插值法(ENVI采用的方法)

过程:批处理过程 DEM_BAD_DATA_DOIT

语法:其实比较简单,具体参考帮助

      ENVI_DOIT, 'DEM_BAD_DATA_DOIT',BAD_VALUE=bad_value, dims=data_dims,$

        fid=data_fid, OUT_NAME=resname, pos=[0], R_FID=res_fid

批量:当然也是使用 FOR循环啦

时间:20190304

//////////////////////////////////////////////////////////////////////////////////////////////


代码示例:

pro  DSMfill

    COMPILE_OPT IDL2

    e=envi()

    datapath=FILE_SEARCH('搜索文件路径',$

                        count=count_all)

    respath='保存文件路径'

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    ;;;;;;;;;;;;;;;;;  replace bad values;;;;;;;;;;;;;;;;

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    FOR I=0,count_all-1 DO BEGIN

      filename=datapath[i]

      basename=FILE_BASENAME(filename)

      resname=FILEPATH(basename+'_fill', ROOT_DIR=respath)

      IF FILE_TEST(resname) THEN CONTINUE

      envi_open_file,filename,r_fid=data_fid

      envi_file_query,data_fid,dims=data_dims

      ENVI_DOIT, 'DEM_BAD_DATA_DOIT',BAD_VALUE=-32767, dims=data_dims,$

        fid=data_fid, OUT_NAME=resname, pos=[0], R_FID=res_fid

      print,basename+' success'

      ENVI_FILE_MNG,id = data_fid,/remove

      ENVI_FILE_MNG,id = res_fid,/remove

    ENDFOR 

end




https://m.sciencenet.cn/blog-3409932-1165648.html

上一篇:ENVI/IDL 编程: 批量重投影
下一篇:ENVI/IDL编程: 批量滤波

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 02:41

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部