欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

栅格擦除(反向裁剪)

程序员文章站 2022-05-28 14:37:22
...

前言
最近办公室的师兄在处理横断山区水土耦合的时候,遇到一个问题,需要对栅格数据进行擦除,也就是反向提取。如果是矢量数据,ArcGIS中提供直接的工具可以进行,但是栅格数据并没有直接的工具。如果将栅格数据转换为矢量数据,则会遇到坐标系、转换方法和像元大小确定的问题,还会造成精度损失。网上搜索的方法不甚明确,且较为复杂,现在提供一种直接简便的方法。
第一步
首先确定需要被裁剪的栅格和擦除栅格图层,我们旨在获取擦除图层空白部分所对应的被擦除图层部分。
栅格擦除(反向裁剪)
栅格擦除(反向裁剪)
第二步
打开栅格计算器,路径为空间分析工具——地图代数——栅格计算器代码如下:

Con(IsNull(‘擦除图层’),‘被擦除栅格图层’,0)
代码含义为当擦除图层为空值时,赋值为被擦出图层,其余部分赋值为0。

第三步
栅格计算的结果如下图,可以发现除去我们栅格本身的值外,还有0值,其实这部分就是擦除栅格部分被赋值为0,所以我们需要删除这部分栅格像元,才能得到最终的我们需要的栅格图像。
栅格擦除(反向裁剪)
第四步
我们根据提取工具来选择我们需要的栅格图像,工具路径如下:空间分析工具——提取分析——按属性提取,截图如下:
栅格擦除(反向裁剪)
可以发现,去除0值部分栅格,就得到了擦除反向裁剪的栅格图像。如图:
栅格擦除(反向裁剪)
注意事项
操作中,应该统一坐标系和像元大小,并且去除擦除栅格和被擦除栅格的背景像元,令其为NoData。