栅格数据集没有擦除功能,现在有栅格A和栅格B,怎么求两个栅格的差集C
具体步骤如下:
1、首先利用栅格计算器,把栅格B中的value全部赋值为0
输入语句:"栅格B" * 0
2 建立一个面图层:在ArcCataLog中选择存放面图层的文件夹,点击右键,选择Shapefile,选择要素类型为面,点击确定,即可建立新的面状图层。
3 单击编辑器,选择‘开始编辑’,选中 ‘处理范围D’ 图层后确定
4 单击创建要素图标,然后在处理范围中单击‘处理范围0’图层(注意,如果不点的话,下面的构造工具就不会显示出来),选择矩形,绘制一个矩形(矩形能够覆盖住栅格A的范围)
5 绘制的面如下图所示,绘制完成之后单击‘停止编辑‘,保存编辑内容
6 修改‘处理范围D’图层的填充颜色和边框颜色,结果如下:
7 对‘栅格B归零’图层进行栅格计算,单击‘环境’按钮,对‘处理范围’进行设置,选择‘与图层 处理范围D 相同’,单击确定开始进行栅格计算。
输入内容: Con(IsNull("栅格B归零"),1,"栅格B归零")
8 计算结果如下:‘栅格B扩展数据集中,栅格B的部分value为0,其他部分value为1,这是因为我们在步骤7的计算中将空值部分全部设为1的原因。
9 将栅格B扩展与栅格A进行栅格乘法运算,这样‘栅格B’的部分全部都为0值,而栅格A的其它部分还为栅格A的值,如下图所示
输入内容: "栅格B扩展" * "栅格A"
10 使用栅格计算器,筛选栅格值大于0的区域,就得到最终的结果,即栅格C。
输入内容: Con("栅格乘集">0,"栅格乘集")
11 完事了,最终结果如下所示:
原文地址:https://www.cnblogs.com/yiliangmi/p/10075285.html
时间: 2024-10-10 21:00:02