使用gdal实现栅格数据的擦除(反裁剪)操作

使用gdal实现栅格数据的擦除操作

在矢量数据的裁剪中,有两种方式,一种是切割(clip),一种是擦除(erase),形式如下,原始数据为A,裁剪数据为B,正向操作得到A∩B,反向操作得到A-B,如下图

使用gdal实现栅格数据的擦除(反裁剪)操作_第1张图片
矢量数据切割和删除
在栅格数据的空间分析中,现有的工具只有类似于上述clip这种操作,即arcgis中的extract by mask操作,但是实际应用总会遇到需要对栅格数据做类似于erase的操作,即保留矢量边界以外的栅格数据。例如下面的图片中栅格数据为landsat8 辽东湾地区的影像,矢量数据为陆地边界,想要得到的结果是切割出海面上的数据。
目前有两个思路。 思路1:先做正常的extract切割,矢量范围外的栅格数据设为无效值,然后读取切割后的和原始的影像,只保留位置上切割后为无效值,原始为有效值的栅格,其余设置为无效值。

python代码实现

import os
import gdal
import numpy 

你可能感兴趣的:(遥感图像处理,gdal,栅格,裁剪)