shp在MATLAB中裁剪数据,ENVI中利用Shape文件裁剪栅格数据
时间: 2023-09-03 22:13:03 浏览: 123
基于GDAL实现多shp多影像的栅格数据批量裁剪
在MATLAB中,可以使用Mapping Toolbox中的shaperead函数读取.shp文件,并使用其返回的结构体中的几何信息和属性信息来裁剪栅格数据。
示例代码如下:
```matlab
% 读取Shape文件
S = shaperead('your_shapefile.shp');
% 读取栅格数据
[grid, R] = geotiffread('your_geotiff_file.tif');
% 裁剪栅格数据
cropped_grid = mapcrop(grid, R, S);
% 保存裁剪后的栅格数据
geotiffwrite('your_cropped_geotiff_file.tif', cropped_grid, R);
```
在ENVI中,可以使用ROI Tool来创建Shape文件,并使用ENVI中的Raster Subset工具来裁剪栅格数据。
具体步骤如下:
1. 打开ENVI软件,在主菜单中选择ROI Tools,创建一个ROI。
2. 在ROI工具中选择File -> Save As,保存ROI为Shape文件。
3. 打开要裁剪的栅格数据,在主菜单中选择Raster Management -> Subset。
4. 在Subset窗口中选择Use ROI Subset,然后选择刚才保存的Shape文件。
5. 点击OK,ENVI会自动裁剪栅格数据,并在新窗口中显示裁剪后的结果。
6. 在新窗口中,可以选择File -> Save As,保存裁剪后的栅格数据。
阅读全文