怎么正确加载、显示栅格数据
The following article is from GIS荟 Author 你个海怪
前言:不管是 ArcGIS 亦或是 QGIS,你又遇到过栅格数据值变动不一致的情况吗?亦或者你长期以来认为正确的东西就真的对嘛?快进来看看吧 |
以下是同一份全球栅格数据,在加载到 ArcGIS 和 QGIS 后,出现了4种数值分布,但是只有第一种是正确的,其余三种都不正确。
为什么会这样呢?
为什么会出现这种情况,以及如何解决,下面就慢慢道来。
错误显示2
第二种栅格加载后最大最小值不对的原因是没有创建栅格金字塔。
没有创建栅格金字塔会让栅格在 ArcMap 界面中的显示速度下降,尤其对于数据集很大的栅格。
但同样也会造成最大最小值显示不正确。
错误显示3
第三个创建了栅格金字塔,但是数据最大值最小值也不对。
这一次的主要原因是 ArcGIS 不知道数据的准确信息,比如最大值、最小值、方差这些。
它只知道一个大概的范围,因为它没有去统计。
打开栅格数据的符号系统,可以看到这里的栅格基本统计信息是空的。
所以只能靠自己了,数据管理工具->栅格->栅格属性->计算统计数据。
使用计算统计数据工具可以计算出正确的栅格基本信息,同时生成一个 XML 文件在栅格所在的文件夹,每次你打开栅格的时候 ArcGIS 就会自动识别这些 XML 文件,然后获得栅格的正确统计信息。
不过可能很多人没有太大的感觉,那是因为拿到的栅格数据自带统计信息 XML 文件,并且一些栅格工具在计算时会自动统计一次基本信息,但也有不统计的,如果碰上,请提前计算统计信息。
错误显示4
第四个是在 QGIS 中加载栅格数据,也不对。
我们知道 QGIS 在加载栅格数据的时候,脾气和 ArcGIS 很不一样:
ArcGIS:“哥,这个给你,那个给你,全都送你,快来玩啊!”经常一个数据加到 ArcGIS 中,最后得到多个数据(小文件),特别是运行几个地理工具后。
QGIS:“哪里来的滚回哪里去!”QGIS 不会默认帮你创建栅格金字塔,并且也不需要,在没有栅格金字塔的加持下,栅格数据的显示速度还是非常不错的。
所以会不会是 QGIS 没有栅格金字塔的原因,我试过,当然不是啦。QGIS 才不会管那么多呢,它也在“估计”,估一个大概的最大值和最小值拉倒算了。
那怎样让 QGIS 显示正确的栅格统计信息呢?
打开栅格数据的样式图层;
点击 Min/Max Value Settings,可以打开一个下拉菜单;
在下拉菜单的最后修改 Accurary 选项,把精度从 Estimate(faster) 修改为 Actual(slower),即表示把估算改为精确计算,不过代价是变慢。
如此一来,QGIS 也支楞了起来,算出来基本的栅格统计信息。
在关闭软件后,就算是“高冷”的 QGIS 也会给你留下记录着统计信息的 XML 文件。看来这栅格统计信息真的非常重要啊。
最后
需要注意的是,前面说的三种情况,都没有真正改变栅格数据本身的内容,栅格数据都完完整整的保存在 .tif 后缀或者其他格式的介质容器中,仅仅是 ArcGIS、QGIS 软件本身没有正确显示而已。
不过没有正确显示的栅格确实会给不明所以的朋友带来很多困扰。
不过在 ArcGIS Pro/Geoscene Pro 中,添加 tif 或者其他格式的栅格数据后,不仅会自动提示创建栅格金字塔,还有提示计算统计信息。
不得不说是一件非常便利的事情。
精彩推荐:
《从 ArcGIS 走向 ArcGIS Pro,ArcPy 的使用差别》:
《搜罗全网!ArcGIS二次开发Python(arcpy)指南(七):你也可以制作ArcGIS工具箱》: