arcgis如何求两个栅格数据集的差集

栅格数据集没有擦除功能,现在有栅格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   完事了,最终结果如下所示:

 

-------------------------------------------------------------------------------------------------

QQ群:871934478

版权所有,转载请注明源地址                          

-------------------------------------------------------------------------------------------------

原文地址:https://www.cnblogs.com/yiliangmi/p/10075285.html