ArcGIS Desktop中为图像设置成不显示背景色

时间:2021-11-16 13:37:10

加载的栅格图层在arcgis中显示有黑色背景

方法一:
如果有矢量边界的话,直接用矢量边界把黑色背景裁剪掉即可。

方法二:

如果是RGB三色:

ArcGIS Desktop中为图像设置成不显示背景色

这个只是不显示,并不改变原有的值

如果是值:

ArcGIS Desktop中为图像设置成不显示背景色

 

 

 

附:为影像数据去除无效值


在使用栅格数据时,黑边和白边问题

ArcGIS Desktop中为图像设置成不显示背景色

 方法一:栅格计算器

在去黑边之前最先需要了解的是黑边的像元值是什么? 可以使用 Identify 工具ArcGIS Desktop中为图像设置成不显示背景色 查查看。 例如这份数据是 0。

ArcGIS Desktop中为图像设置成不显示背景色

这时,你也许会想到设置图层背景值的色彩可以吧?

ArcGIS Desktop中为图像设置成不显示背景色

如果仅为了显示使用,是可以解决问题的,但传统意义上的去黑边,我们一般理解成栅格数据的处理,也就是从存储上修改特定值(本例中是 0)值为 Nodata。

单波段数据处理起来常常相对容易些,最常用的工具就是 栅格计算器/Raster Calculator 了。Raster Calculator 可以通过输入的Python语法的表达式,对当前数据框内的栅格图层进运算。例如这个需求中仅需要一个简单表达式,使用到SetNull函数,如下所示:

ArcGIS Desktop中为图像设置成不显示背景色

其中,表达式是 SetNull(“RasterLayer” == 0 , “RasterLayer” )

这样执行工具之后,所有的 0 值变成了 Nodata,彻底去了黑边。

 

方法二:影像分析窗口

多波段数据同样会受到黑边的困扰,而且现实情况往往没有单波段数据那么理想,仅通过一个表达式就可以搞定。例如,我们常用的影像底图数据,通常有三个波段,通过包含RGB三个波段的一组值来表示像元值,例如 (0,255,129)。我一般会根据需要处理的数据量的多少给出不同的处理方法建议:

同样第一步需要确认黑边值是什么?本例中是 (0,0,0)

ArcGIS Desktop中为图像设置成不显示背景色

 

ArcMap的 Windows 菜单中有 Image Analysis 。在 Image Analysis 窗口中的 Processing 部分可以对当前数据框中的图层赋予函数或函数链,从而对栅格数据实时处理。

ArcGIS Desktop中为图像设置成不显示背景色

在弹出的窗口中,在 fx行右键插入函数,例如这个需求中会使用到 Mask Function。

ArcGIS Desktop中为图像设置成不显示背景色

设置 Mask Function,(0,0,0) 组合是无效值。为什么选择 All 而不是 Any? 这个答案很显见,同时都为0的像元值才是无效值,否则不是,例如(1,255,0)是有效的。或者说各个波段的0值是and关系,而不是or。

ArcGIS Desktop中为图像设置成不显示背景色

这样带有函数的新栅格图层会自动加入 ArcMap 的 TOC,看起来万事大吉,然而这里需要说明下,这个图层需要Export到硬盘上的某个位置,它目前还是个临时数据,当layer被移除掉,这个结果就不复存在。

导出数据:

ArcGIS Desktop中为图像设置成不显示背景色

 

 这种方法,还适用于具有多种无效值的情况。例如,除了(0,0,0) 还包含 (255,255,255) :

ArcGIS Desktop中为图像设置成不显示背景色

我们需要做的仅是继续增加栅格函数。在 Function Template Editor 中函数们顺序相接,像个环环相接的链条,所以称为 ”函数链/ Function Chain“,咦,好像跑题了。请继续看如何设置无效值:

ArcGIS Desktop中为图像设置成不显示背景色

这样就实现了去掉两组无效值。

 

 方法三: 镶嵌数据集

那么摆在你面前的数据不是一个,而是“很多”呢?凡事保证质量之后,重复工作多了之后就同时需要保证效率,那么这种方法适用于“很多”、“大量”……

ArcGIS 的镶嵌数据集是个理想与实用兼备的影像数据管理模型,我们用它来“处理”大量栅格数据也是个不错的选择。

在地理数据库中创建镶嵌数据集,并将数据添加到镶嵌数据集中,之后

ArcGIS Desktop中为图像设置成不显示背景色

ArcGIS Desktop中为图像设置成不显示背景色

在镶嵌数据集中可以使用工具 Define Mosaic Dataset Nodata 工具,对数据的无效值进行定义。

ArcGIS Desktop中为图像设置成不显示背景色

从而批量去除了无效值。

镶嵌数据集本身也支持栅格函数,类似影像数据窗口中函数模板的设置,同样可以设置函数链来实现一些复杂的要求。

ArcGIS Desktop中为图像设置成不显示背景色

常见的操作一般就这几种,总结下,单波段优先考虑栅格计算器;多波段可以使用影像分析窗口;如果数据量较大,建议使用镶嵌数据集。