zoukankan      html  css  js  c++  java
  • ENVI不规则裁剪(使用Shp文件)(ZZ)

    ENVI不规则裁剪(使用Shp文件)

     678人阅读 评论(0) 收藏 举报

    今天有客户想实现不规则裁剪以前总是在ArcGIS下操作,而今天手痒了,想在ENVI下搞搞,折腾了半天总算完工,现将在ENVI中裁剪栅格的步骤写下来,以方便参考:

    步骤:

    将不规则的Shp面状数据在ENVI中打开,然后转成ENVI自己的格式,然后转成ROI最后执行裁剪。

       1、打开栅格数据:通过 File -- Open Image

          2、打开矢量数据:通过 File -- Open Vector

                        或者 Vector -- Open Vector,选择 文件类型 Shapefile(*.shp) ,选择矢量文件 ,注意在弹出的Import Vector Files Parameters 对话框选择正确的投影类型。然后OK之后ENVI自动将矢量文件转为EVF格式。如下图:

         这里要注意栅格数据和矢量数据的投影系统必须一致。如果不一致就需要重投影使其一致。如下图,坐标系为WGS84

       3、将矢量数据转为ROI:在Availabel Vectors List选择数据,在 File 选择 Export Layers to ROI,然后在Select Data File to Associate with new ROIS 中选择需要裁减的栅格数据,再在Export EVF Layers to  ROI中选择Convert all records of an EVF layer to one ROI,点击OK。如下图:

       4、裁剪栅格数据:在ENVI主菜单Basic Tools 中选择Subset Data via ROIs,在Select Input File to Subset via ROI 中选择需要裁减的栅格数据,OK。然后出现Spatial Subset via ROI Param...对话框,在Slect Input ROIs 中选择建立的 ROI。最后选择输出结果到文件还是内存即可。如下图:

        ** 这里需要注意 Mask pixels outside of ROI ?这个选项,如果选择 No ,则是以包括ROI在内的最小矩形范围裁剪,得到的结果数据也是矩形。如果选择Yes,则需要在 Mask Background Value 后给出 ROI 范围外的数据值,默认是0 (该值自己随意设定),这样得到的结果就是大家想要的不规则边界裁剪结果。   

        ** 另外矢量数据必须是多边形类型,如果是线类型裁剪,在想要得到按照边界裁剪时就会出错。

    结果比较:

  • 相关阅读:
    configparser模块
    xml文件解析
    shutil模块 + shelve模块 二合一版
    hashlib模块
    subprocess模块和sys模块
    re模块
    os模块
    random模块
    time模块、datetime模块讲解
    洛谷P3414 SAC#1
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/2548866.html
Copyright © 2011-2022 走看看