当前位置:首页 >> 计算机软件及应用 >>

ENVI中用矢量图裁剪栅格图想(不规则裁剪)


方法1:file-save file as-envi standard-import file-
方法原理是pix-pix,所以要求波段之间具有相同的行列数。如果波段行列数不一样,即使具有相同的地理坐标系且波段之间有重叠的部分,也不能完成波段的合并。
file-save file as-envi standard-import file-把你7个波段都打开,按住ctrl把7个波段选中,在下面选择输出路径-搞定

方法2: File>Basic Tools>Layer Satcking,该波段合并的方法是基于地理坐标系的,所以要求输入的所有的波段数据必须具有地理坐标信息,但是每个波段可以有不同的地理坐标信息。

File>Basic Tools>Layer Satcking,注意:单波段图像必须有统一的坐标。无坐标的也许通过上面的方法可行。

图像的保存:单波段保存为8BIT,多波段合成保存为24BIT。
File: G:\遥感处理\LT51200382010231BJC00\LT51200382010231BJC00_B7.TIF
Dims: 7881 x 6981 x 1 [BSQ]
Size: [Byte] 55,073,458 bytes.
File Type : TIFF
Sensor Type: Unknown
Byte Order : Host (Intel)
Projection : UTM, Zone 50 North
Pixel : 30 Meters
Datum : WGS-84
Wavelength : None
Upper Left Corner: 1,1
Description: GEO-TIFF File Imported
into ENVI [Tue Jun 04 10:06:23
2013]

ArcGIS和ENVI中的投影坐标问题[原创] 2008-05-24 12:01:14| 分类: 遥感软件图像处理 | 标签: |字号大

小 订阅
1.和很多地理图象(栅格图像和矢量图象)一样,一副矢量图应该也有自己的坐标系,矢量图的坐标系应该产生于矢量图生成的过程,因为地理图象的坐标信息是不可缺少的。如果针对ArcGIS软件来说,通常这个矢量图应该带有坐标系文件(.prj);把这幅矢量图在ArcGIS中打开。可以用工具(create spatial refer)或者(Project)看到该矢量图层信息是否具有投影坐标信息,一般来讲如果相应的图层没有.prj文件的话,用ArcGis打开该图层的时候,软件本身会出现(Unknown Spatial Reference)窗口,当然用工具(create spatial refer)或者(Project)此时也不能看到该矢量图层的投影坐标名称。
Will and Grace
2.envi中如果读入的矢量图象有经纬度显示代表该矢量图有地理坐标系。通常一副矢量图层一般不会显示经纬度信息,所以envi打开矢量图层的时候,必须先知道原本矢量图层的投影坐标系统。然后再envi软件中定义相应的坐标系统,以便打开矢量图层时编辑(Edit Layer Projection)矢量图层的投影坐标信息时方便选中刚才定义的坐标系统。在这里还要说明两点,一是即使该矢量图层在envi中打开过,而且还定义了坐标系,但是当第二次打开的时候仍然是没有地理坐标信息,所以可以这样理解envi中定义坐标信息,它只是临时把投影坐标信息附加到矢量数据上去,因此当envi第二次打开矢量图层时,仍然需要定义投影坐标信息;二是在ArcGis中定义的矢量图层信息(.prj)在envi中是识别不出来的。
ENVI用矢量图层来作影像裁剪

1、打开要裁剪栅格数据;

2、打开矢量数据,注意矢量图的投影与栅格要一致才可以,在加载栅格的窗口中加载;

3、将矢量数据转为ROI: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 中选择需要裁减的栅格数据。在Slect Input ROIs 中选择建立的AOI,注意Mask pixels outside of ROI ?这个选项,如果选择 No ,则是以包括ROI在内的最小矩形范围裁剪,得到的结果数据也是矩形。如果选择Yes,则需要在 Mask Background Value 后给出 ROI 范围外的数据值,默认是0 (该值自己随意设定)。选择保存路径,OK。




ENVI中用矢量图裁剪栅格图想(不规则裁剪)

接上一篇帖子,帖子名——在Arcview中裁剪矢量图

用刚刚裁剪下来的新疆矢量图来把Spot4 VGT SE-Asian 图像的新疆部分剪裁下来。数据:矢量数据为xinjiang.shp 栅格数据为CHN_NDV_19980401.img

步骤如下:

1、打开栅格数据:File-- Open Image,打开CHN_NDV_19980401.img



2、打开矢量数据:File -- Open Vector,打开xinjiang.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。转成xinjiang.roi了。

4、裁剪栅格数据:在ENVI主菜单Basic Tools 中选择Subset Data via ROIs,在Select Input File to Subset via ROI 中选择需要裁减的栅格数据,OK。然后出现Spatial Subset via ROI Param...对话框,在Slect Input ROIs 中选择建立的 xinjiang.roi。保存为xj19980401.img。



Mask pixels outside of ROI ?这个选项,如果选择 No ,则是以包括ROI在内的最小矩形范围裁剪,得到的结果数据也是矩形。如果选择Yes,则需要在 Mask Background Value 后给出 ROI 范围外的数据值,默认是0 (该值自己随意设定),这样得到的结果就是把新疆地区裁剪下来,周围的值是黑色的0值。





envi矢量图层编辑


1) 在Vector Parameters对话框中,点击刚创建的新矢量层,然后选择Mode → Edit Existing Vectors。

2) 在主影像窗口中,点击在上一节中所生成的某个多边形。

a) 该多边形就会高亮显示出来,并且多边形的节点会标记成钻石形。当矢量被选定,就可以进行如下的修改:

3) 单击鼠标右键,在弹出的快捷菜单中选择Delete Selected Vector,删除整个多边形。

4) 单击节点,并拖曳到新的位置来移动节点。

5) 单击鼠标右键,选择Accept Changes保存修改并重新绘制多边形。

6) 通过点击鼠标中键或在右击显示的快捷菜单中选择Clear Selection,退出修改,不进行任何变动。

7) 要在多边形中添加或删除节点,可以在右击显示的快捷菜单中按如下步骤进行选择:

i. 要添加一个节点,右击并选择Add Node,然后将该节点拖曳到一个新的位置。

ii. 要删除节点,单击节点,然后从快捷菜单中选择Delete Node。

iii. 要改变每次添加的节点数,右击选择Number of Nodes to Add。在对话框中,输入节点的数目。

iv.要删除一系列的节点,用右键点击该范围内的第一个点,然后选择Mark Node。再用右键点击该范围的最后一个点,再次选择Mark Node。最后,右击选择Delete Marked Nodes即可。

8) 结束这一部分,从ENVI主菜单中选择Window → Available Vectors List,然后在显示的可用波段中选择新创建的矢量层,并点击Remove Selected来删除它们。注意不要删除vectors.shp矢量层,后面还会用到的。



ENVI中利用shape文件裁剪影像 2012-11-05 10:11:15| 分类: 遥感 | 标签:envi 裁剪 shape |字号大

小 订阅
在利用ENVI进行遥感影像处理的过程中,按照研究区范围对遥感影像进行裁剪几乎是必须的步骤,现在我就来说一下在ENVI中如何利用最常见的Shape区文件来裁剪遥感影像。

我们以ENVI安装目录下的World_DEM数据作为被裁减的栅格数据,以中国边界图China_BND.shp作为边界控制的矢量数据。两个数据的坐标系统都为经纬度坐标的WGS_1984。需要说明的是:ENVI中对于坐标系统的控制是比较严格的,只有具有完全相同坐标系统的两个图才能叠加在一起进行裁剪操作。裁剪步骤如下:

(1)在ENVI中打开World_DEM数据(这个是废话,不打开怎么进行裁剪操作)。


(2)打开China_BND.shp文件。在File菜单中选择Open Vector Files,在打开对话框中选择文件类型为“Shapefiles(*.shp)”,找到China_BND.shp文件将其打开。之后弹出Import Vector Files Parameter对话框,设置导出的EVF文件的路径并设置输出文件的坐标系统。


图一 导入Shape文件设置

(3)导入成功后在Available Vectors List中可以看到导入的shape文件,点击Load Selected,在弹出的对话框中选择world_dem所在的窗口,点确定就可以看到矢量数据加载到窗口中了。



图二 导入的矢量数据


图三 选择矢量数据加载的图层


(4)在Vector Parameter对话框中依此选择File->Export active layer to ROIs,将导入的矢量数据转化为ROI。


图四 将导入的矢量数据转为ROI

(5)在ENVI的主菜单上,依此选择Basic Tools->Subset Data via ROIs,打开Select Input File to Subset via ROI对话框,在其中选择World_dem数据,作为被裁减的栅格数据。点击确定,接着在弹出的Spatial Subset via ROI Parameter对话框中选择刚才转换的ROI文件,Mask Pixels outside of ROI设置为Yes,Mask Background Value默认为0即可,让然,如果需要设置为特殊的值那么在这里设置即可。设置好输出路径后点击确定即可完成裁剪。


图五 裁剪设置

大家可以将图五中的Mask Pixels outside of ROI设置为No试一下,看看裁剪的效果与设置为Yes时有何不同。下面是叠加了裁剪边界之后的裁剪结果。


图六 叠加了裁剪边界的裁剪结果
yhzhu876@sohu.com



在裁剪之前,应该先转成ROI才可以把待裁剪的影像和矢量都打开,矢量list里面有一个export layers to roi追问 我选了啊。还是这个错。裁剪时对裁剪文件SHp文件有什么要求吗?怎么做来满足要求? 回答 只要你这个矢量是这个影像范围的就好,export to roi后可以在这个影像上显示出你这个矢量的轮廓,那是不是不在一个范围呢?投影有错什么的没对上,或者不是一个地方的?你的矢量能显示在影像上么? 追问 请问裁剪影像的shp文件怎么生成?我怀疑问题在这里。我是在谷歌地图上截取了研究区域的图片,转换为tif格式的文件后在mapgis中矢量化为区域后转成shp文件的,你看这样做对吗?谢谢赐教。 回答 我没这么做过,感觉这样倒来倒去很麻烦的样子,中间的过程有没有出错也不好说,通常我是直接用省份边界裁的,或者直接在上面画的。你这个矢量能叠在你的研究区上么?你要画的是方形的,直接对着经纬度在ENVI里画ROI呗。 提问者评价谢谢你的回答。

相关文章:
ENVI中掩膜掩膜操作及影像分类教程(转)
这样得 到的结果就是大家想要的不规则边界裁剪结果...这里一定要注意矢量图的投影与栅格的完全一致,才可以...4、裁剪栅格数据:在 ENVI 主菜单 Basic Tools 中...
ENVI下从两幅分类结果的栅格图中计算土地利用类型转换矩阵
ENVI 下从两幅分类结果的栅格图中计算土地利用类型转换矩阵 1、准备数据 两个时相的土地利用分类结果,它是单波段、专题类型的伪彩色图像(ENVI Classification)。 2...
更多相关标签: