1.打开需要被裁切的栅格数据
classic 下打开栅格数据,File / Open Image File,选择栅格数据,Load Band。
2.打开shp文件
classic / vector / Open Vector,选择文件类型shapefile(*.shp) ,选择矢量文件.shp,打开shp文件。
3.保存EVF文件
弹出Import Vector Files Parameters窗口中,在Enter Output Filename[.evf]下设置evf文件的输出路径和文件名QQ.evf。点击OK。
在Available Vectors List中选择已经打开的矢量文件,选择Load Selected按钮。
此处选择Display #1,点击OK。
弹出#1 Vector Parameters :Cursor Query窗口(黑底,有矢量线)。
选择矢量文件,点击Apply。此时,在#1 Scroll窗口中能够看到矢量文件(白色)叠加在栅格图之上。
4.保存roi文件
在Available Vectors List窗口,点击file选择Export Layers to Roi…。
弹出Select Data File to Associate with new ROIs窗口,选择需要被提取的栅格数据,点击OK。
弹出Export EVF Layers to ROI窗口,选择Convert all records of an EVF layer to one ROI…。点击OK。
然后在#1 scroll窗口中就出现白色的矢量区域。
在scroll窗口中右击鼠标,点击ROI Tool…,打开#1 ROI Tool窗口。
选择“EVF:layer:QQ.shp”,点击左上角File / Save ROIs…
即可将shp文件保存为roi文件。MCD12Q1.A2001_Type1_class.roi
5.新建掩膜
在ENVI 5.3中打开需要被掩膜的栅格数据。
打开Toolbox / Raster Management / Masking / Build mask
在Build Mask Input File中选择需要掩膜的栅格数据。
在弹出的Mask Definition窗口下点击Options / Import ROIs…
选择之前生成的roi,点击OK。
设置输出路径和文件名MCD12Q1.A2001_Type1_class_roimask.dat
6.应用掩膜
在ENVI 5.3中打开Toolbox / Raster Management / Masking / Apply mask
在Apply Mask Input File中选择需要掩膜的文件。
点击Spatial Subset,弹出Select Spatial Subset窗口,点击Subset Using下的File,选择目标栅格文件,如temp_2001,以此定义范围。点击OK。
在Select Spatial Subset窗口点击OK。
点击Select Mask Band,选择上一步生成的MCD12Q1.A2001_Type1_class_roimask.dat文件的Mask Band。点击OK。
Apply Mask Input File窗口点击OK。
设置输出路径和文件名,点击OK,生成MCD12Q1.A2001_Type1_class_QQ.dat,掩膜提取完成。
什么鬼,输出文件行列号都增大了1,与temp_2001不一致.
所以洗牌重来,从6.应用掩膜开始更改。
打开temp_2001文件,Layer Manager中右键文件名,点击View Metadata,打开View Metadata:temp_2001窗口,点击左侧Extents,查看范围,记录。然后在Spatial Subset下点击Subset Using下的Map,输入和temp_2001的Extents一样的Upper Left和Lower Right Coordinate,以此定义范围。点击OK。我醉了,输出结果行列号各增加2。
洗牌重来,从6.应用掩膜开始更改。在Spatial Subset下点击Subset Using下的ROI/EVF,输入之前的ROI,输出结果行列号减小了10-50。
奔溃了,为什么不能乖乖和temp_2001一样呢?
我放弃了,我选择ArcGIS…