ArcGIS Pro中 Nodata和nan 黑边的处理
在ArcGIS Pro中打开栅格数据,可能会有由于Nodata或者nan等造成的黑边;如果是该栅格数据后续还要进行栅格计算、掩膜提取等操作,很多时候也可以忽略Nodata造成的影响。
但有时候已经要用该数据制图出图了,还有黑边,就需要采取措施处理掉或者换QGIS制图出图,比如我下面的数据在QGIS中是正常显示,但是在ArcGIS Pro中会产生黑边。
① Nodata值的处理
在ArcGIS Pro中加载栅格数据时,可能会产生由于Nodata值造成的黑边,如下所示:
针对这一情况,通过修改主符号系统能够在一定程度解决问题,将Nodata设置为无颜色。
但是我这样处理后很奇怪,缩放到一定的级别黑边就会消失,但是如果全局显示出来,黑边还是会存在。我搜索了一下,有的说:在 ArcGIS Pro 中,当缩放地图时,软件为了优化显示性能,会根据当前视图比例尺调用不同层级的数据(比如金字塔的不同层级)进行渲染;当你缩小到全局视图时,Pro 可能使用了较低层级的金字塔影像(可能是概览图或较低分辨率的数据)进行渲染,这些层级的数据可能没有完全应用你的显示设置,导致黑边又重新出现。
但是我没有找到解决这一拉伸色带显示问题的直接办法,搜了一下简单的处理方法有以下几种:
(1)使用分类,而不是拉伸
(2)复制栅格或者使用矢量边界掩膜提取;如下所示,在复制栅格时根据栅格属性,设置Nodata值;
但是前提还是需要把符号系统里的nodata设置为透明色:
(3)使用栅格计算器,将栅格数据参与一个简单的代数运算,非数值部分就会被忽视,前提也是需要把符号系统里的nodata设置为透明色。
②nan值的处理
nan值处理起来相对麻烦,它与Nodata造成的黑边不同,Nodata黑边更多是由于显示渲染问题,而nan值可能是来源于Matlab或者其他程序处理生成栅格数据过程,所以比较根本的解决办法是在Matlab或者其他程序生成栅格数据过程中,将nan设置为 -9999等值,但是这样比较麻烦。采用复制栅格工具也是无法解决这一问题的,因此可以采用的方式就是 按掩膜提取 或者 栅格计算。
掩膜提取原理很简单,矢量边界外的部分别管有值还是没值都给他删掉了,都成了Nodata,当Nodata拉伸掩膜设置为透明色时,便能去掉黑边。
如果没有矢量边界数据,那么也可以采用栅格计算器,仍旧是使用最简单的: "栅格名称.tif" *1
这样的最简单的代数运算即可,这样处理后原来的nan就会变为nodata,从而正常显示。