Skip to content

能否利用矢量文件对图像进行子集提取?

原文链接: https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/can-i-subset-an-image-using-a-shapefile

25503 为本文评分:

4.3

能否利用矢量文件对图像进行子集提取?

匿名作者 2016年3月8日,星期二

本文将演示如何通过已转换为感兴趣区域(ROI)的多边形矢量文件,对图像进行子集提取。典型应用场景是仅处理地理边界内的像素,如下图所示。这并非"裁剪"操作,而是一种掩膜处理过程,即将矢量边界外的像素设置为NoData值。

本示例使用一幅Landsat 5 TM影像和路易斯安那州密西西比河海岸三角洲区域莫雷帕斯湖流域边界的多边形矢量文件。

首先,您需要基于多边形矢量文件创建ROI。请按以下步骤操作:

  1. 在ENVI菜单栏中,选择 文件 > 新建感兴趣区域
  2. 在ROI工具菜单栏中,选择 文件 > 从矢量导入
  3. 根据提示选择多边形矢量文件。
  4. 在"矢量转ROI"对话框中,根据矢量记录导出需求选择 所有记录转为单个ROI每条记录转为独立ROI
  5. 在ROI工具菜单栏中,选择 文件 > 另存为,将ROI保存为XML文件。

现在可以开始提取图像子集。除了手动定义子集空间范围外,ENVI®还提供其他空间子集提取选项,例如 按栅格子集提取按矢量子集提取按ROI子集提取。后两种选项会生成基于矢量文件或ROI地理范围的矩形子集,但该子集会包含矢量或ROI边界外的像素,例如:

要创建仅包含ROI边界内数据像素的子集(参见本文开头的示例),您需要基于ROI创建掩膜。请按以下步骤创建掩膜并通过ROI提取图像子集:

  1. 在ENVI菜单栏中,选择 文件 > 另存为 > 另存为(ENVI, NITF, TIFF, DTED)
  2. 选择图像文件,然后单击 空间子集 按钮。
  3. 点击 按ROI子集提取 按钮。

4. 根据提示选择ROI。 5. 在文件选择对话框中,单击 掩膜 按钮。 6. 在掩膜选择对话框中,选择ROI文件并点击 确定

7. 在文件选择对话框中点击 确定。 8. 将掩膜后的栅格数据保存到磁盘文件。

结果将与本文开头的图像类似。白色像素区域将填充为NoData值。另请注意,Landsat影像与ROI的坐标系虽然不同,但我们无需额外进行数据集重投影操作。ENVI会自动将ROI重投影以匹配Landsat影像的坐标系。

有关子集提取选项和创建掩膜的更多信息,请参阅ENVI帮助文档

致谢

Landsat影像由美国地质调查局提供。

莫雷帕斯湖矢量文件源自美国流域边界数据集(WBD)。WBD是美国农业部自然资源保护局(USDA-NRCS)、美国地质调查局(USGS)和环境保护署(EPA)的合作成果。该数据集整合了各州多种数据源,并汇集成标准国家层面数据,用于战略规划与责任评估。路易斯安那州的WBD数据可通过http://datagateway.nrcs.usda.gov获取[访问于2016年2月29日]。

将Jupyter Notebook与ESE集成 全新视角决定一切!