当前位置:文档之家› ENVI 中利用矢量边界裁剪栅格数据详解

ENVI 中利用矢量边界裁剪栅格数据详解

ENVI中利用矢量边界裁剪栅格数据详解
以前在论坛和群里面看到过很多人问如何在ENVI中利用不规则边界来裁剪栅格影像,都只是告诉他们将矢量数据转为ROI然后再Subset就可以。

今天又碰到了,就将在ENVI中裁剪栅格的步骤写下来,以方便参考:
注:此处用到的数据是群里一位朋友的,在此作为一个例子来说明如何裁剪数据。

数据:矢量数据为SHP格式,面状(多边形)特征文件test.tif。

栅格数据为TIFF格式testshp.shp 。

1、打开栅格数据:通过File -- Open Image
或者File -- Open External File -- Generic Formats -- TIFF/GeoTIFF
2、打开矢量数据:通过File -- Open Vector
或者Vector -- Open Vector,选择文件类型Shapefile(*.shp) ,选择矢量文件testshp.shp,注意在弹出的Import Vector Files Parameters 对话框选择正确的投影类型。

然后OK之后ENVI自动将矢量文件转为EVF格式。

这里要注意栅格数据和矢量数据的投影系统必须一致。

如果不一致就需要重投影使其一致。

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 (该值自己随意设定),这样得到的结果就是大家想要的不规则边界裁剪结果。

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

图1原始数据,红色为矢量边界
图2裁减结果
其实这类型的裁剪和前面的帖子,在ArcGis中裁剪栅格是一样的。

注:以上步骤在ENVI4.3种完成,其它版本可能稍有不同,请注意!。

相关主题