码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-12-06 11:03:39      阅读:526      评论:0      收藏:0      [点我收藏+]

标签:部分   style   sha   按钮   null   区域   功能   文件   .com   

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

技术分享图片

 

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

标签:部分   style   sha   按钮   null   区域   功能   文件   .com   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!