栅格擦除(反向裁剪)
程序员文章站
2022-05-28 14:37:22
...
前言
最近办公室的师兄在处理横断山区水土耦合的时候,遇到一个问题,需要对栅格数据进行擦除,也就是反向提取。如果是矢量数据,ArcGIS中提供直接的工具可以进行,但是栅格数据并没有直接的工具。如果将栅格数据转换为矢量数据,则会遇到坐标系、转换方法和像元大小确定的问题,还会造成精度损失。网上搜索的方法不甚明确,且较为复杂,现在提供一种直接简便的方法。
第一步
首先确定需要被裁剪的栅格和擦除栅格图层,我们旨在获取擦除图层空白部分所对应的被擦除图层部分。
第二步
打开栅格计算器,路径为空间分析工具——地图代数——栅格计算器代码如下:
Con(IsNull(‘擦除图层’),‘被擦除栅格图层’,0)
代码含义为当擦除图层为空值时,赋值为被擦出图层,其余部分赋值为0。
第三步
栅格计算的结果如下图,可以发现除去我们栅格本身的值外,还有0值,其实这部分就是擦除栅格部分被赋值为0,所以我们需要删除这部分栅格像元,才能得到最终的我们需要的栅格图像。
第四步
我们根据提取工具来选择我们需要的栅格图像,工具路径如下:空间分析工具——提取分析——按属性提取,截图如下:
可以发现,去除0值部分栅格,就得到了擦除反向裁剪的栅格图像。如图:
注意事项
操作中,应该统一坐标系和像元大小,并且去除擦除栅格和被擦除栅格的背景像元,令其为NoData。