镶嵌数据集百分比截断拉伸是基于影像直方图信息实现,而最值拉伸、标准差拉伸和高斯拉伸基于影像统计数据实现;如果影像未包含对应的信息,设置拉伸方式时程序将提示您计算直方图或统计数据,只有获得正确的直方图和统计数据,才能正确拉伸显示影像。影像直方图和统计数据信息存储在影像同级目录下的*.aux.xml文件,文件名同对应的影像文件名称。若镶嵌数据集中影像存在缺失无值、无值信息错误的情况,将会导致拉伸显示效果异常问题。
下文将以计算统计数据、计算直方图、构建概视图、创建影像金字塔为例说明镶嵌数据集无值的作用,并给出对应的异常问题处理方法。
正确计算统计数据
影像最值拉伸、标准差拉伸和高斯拉伸显示需要基于影像统计数据,如果影像没有统计数据,程序将提示您计算。若影像中缺失无值或者无值信息错误将会导致计算结果错误。
- 影像文件缺失无值信息
例如,一幅tif影像,影像文件本身没有无值信息(图1-1),但影像存在无值区域(图1-2 所示黑色区域,各波段栅格值都为0),该影像添加到镶嵌数据集标准差拉伸显示,拉伸使用的统计数据未排除无值区域,导致显示结果(图1-3)与排除无值后(图1-4)差异较大。
出现这种情况的原因是,镶嵌数据集计算统计数据时,默认排除影像文件中的无值,如果影像文件不包含无值信息(图1-1),该影像的统计数据不会排除无值区域的栅格值,导致图1-3的拉伸显示结果。
引入镶嵌数据集无值后,如果启用镶嵌数据集无值替代影像缺失无值(图1-4),在计算统计数据时,当遇到影像文件没有无值信息的情况,影像无值将默认为镶嵌数据集无值并在计算中排除该值,使得缺失无值信息的影像也能获得合理的统计数据和拉伸显示效果。
图1-1:使用GDAL工具查看tif文件信息 | 图1-2:无值区域栅格值为0 |
图1-3:统计数据未排除无值 | 图1-4:使用镶嵌数据集无值替代影像缺失无值 |
附:如果影像文件包含无值信息,内容如下:
本示例异常问题的处理方法:
- 关闭包含该镶嵌数据集所有地图;如果镶嵌数据集中的影像有打开显示的,也必须关闭。
- 如图1-4所示,正确设置镶嵌数据集无值(各波段无值都为0),勾选替代影像缺失无值,点击“应用”按钮,使设置生效。
- 第2步的设置不会改变影像已有的统计数据,必须重新计算影像的统计数据;使用计算统计数据GPA工具完成。(重新计算影像的统计数据能力研发中...)
- 影像已有金字塔,需要重新创建金字塔。
- 重新打开镶嵌数据集地图,可正确显示拉伸效果。
- 影像文件无值信息错误
例如:一幅tif影像,影像文件包含了无值信息(无值为256),如下图1-5所示,但实际影像无值区域的栅格值为0,属于文件无值信息错误的情况,此类影像添加到镶嵌数据集拉伸显示,拉伸使用的统计数据排除了256无值,非无值区域的栅格值,导致显示结果(图1-6)与排除正确无值后(图1-7)差异较大。
产生上述情况原因是,影像文件中的无值非影像无值区域的栅格值,即影像文件无值信息错误。
引入镶嵌数据集无值后,如果启用镶嵌数据集无值替代影像缺失无值,并且强制替代所有影像无值(图1-7),在计算统计数据时,将忽略影像文件中的无值,直接使用镶嵌数据集无值并在计算中排除该值,使得无值信息错误的影像也能获得正确的统计数据和拉伸显示效果。
图1-5:影像文件无值错误,非无值区域栅格值 | 图1-6:使用错误的无值计算统计数据 |
图1-7:启用镶嵌数据集无值强制替代影像错误的无值 |
本示例异常问题的处理方法:
- 关闭包含该镶嵌数据集所有地图;如果镶嵌数据集中的影像有打开显示的,也必须关闭。
- 如图3-3 所示,正确设置镶嵌数据集无值(各波段无值都为0),同时勾选替代影像缺失无值和替代所有影像无值,点击“应用”按钮,使设置生效。
- 第2步的设置不会改变影像已有直方图信息,必须重新计算影像直方图;使用重新计算直方图GPA工具完成。(重新计算影像直方图能力研发中...)
- 影像已有金字塔,需要重新创建金字塔。
- 重新打开镶嵌数据集地图,可正确显示拉伸效果,但是需要手动修改影像图层的“无值(RGB)”为正确值0,才能透明显示无值区域。
- 也可以重新打开镶嵌数据,调整拉伸方式,可正确显示影像,无值区域默认透明显示
正确计算直方图
影像百分比拉伸显示需要基于影像直方图信息,如果影像没有直方图,程序将提示您计算。
计算直方图需要影像的最值信息,若影像具有统计数据,使用已有最值;否则,重新计算最值。影像已有统计数据正确,才能获得正确的直方图计算结果。
例如:一幅tif影像,影像文件本身没有无值信息(图2-1),但影像存在无值区域(图2-2 所示白色区域,各波段栅格值都为255),该影像添加到镶嵌数据集百分比截断拉伸显示,拉伸使用的直方图未排除无值区域,导致显示结果(图2-3)与排除无值后(图2-4)差异较大。
产生上述情况原因:镶嵌数据集计算直方图时,默认排除影像文件中的无值,如果影像文件不包含无值信息(图2-1),该影像直方图也不会排除无值区域的栅格值,导致图2-3的拉伸显示结果。
引入镶嵌数据集无值后,如果启用镶嵌数据集无值替代影像缺失无值(图2-4),在计算直方图时,当遇到影像文件没有无值信息的情况,影像无值将默认为镶嵌数据集无值并在计算中排除该值,使得缺失无值信息的影像也能获得合理的直方图和拉伸显示效果。
图2-1:使用GDAL工具查看tif文件信息 | 图2-2:无值区域栅格值为255 |
图2-3:直方图未排除无值 | 图2-4:启用镶嵌数据集无值替代影像缺失无值(直方图排除无值) |
本示例异常问题的处理方法:
- 关闭包含该镶嵌数据集所有地图;如果镶嵌数据集中的影像有打开显示的,也必须关闭。
- 如图2-5所示,正确设置镶嵌数据集无值,勾选替代影像缺失无值,点击“应用”按钮,使设置生效。
- 第2步的设置不会改变影像已有的统计数据,必须重新计算影像的统计数据;使用计算统计数据GPA工具完成。(重新计算影像的统计数据能力研发中...)
- 影像已有金字塔,需要重新创建金字塔。
- 重新打开镶嵌数据集地图,将显示正确效果。
正确构建镶嵌数据集概视图
例如:一幅tif影像,影像文件包含正确的无值信息,添加到镶嵌数据集后,如图3-1所示,不启用镶嵌数据集无值时,也能获得正确的拉伸显示效果。镶嵌数据集构建概视图后,概视图影像的拉伸显示异常,如图3-2所示。
产生上述情况原因:生成概视图时,如果未启用镶嵌数据集无值,生成的概视图影像文件(.tif)中,不会包含无值信息,如图3-4所示,导致概视图影像的统计数据不会排除无值区域的栅格值,拉伸显示异常。
引入镶嵌数据集无值后,如果启用镶嵌数据集无值,构建概视图后,概视图影像文件(.tif)将包含无值信息,如图3-5所示。
图3-1:无值区域栅格值为0 | |
图3-2:未启用镶嵌数据集无值替代影像缺失无值 | 图3-3:启用镶嵌数据集无值替代影像缺失无值 |
图3-4:输出概视图影像未包含无值信息 | 图3-5:输出概视图影像包含无值信息 |
本示例异常问题的处理方法:
第一种(推荐):
- 关闭包含该镶嵌数据集所有地图;如果镶嵌数据集中的影像有打开显示的,也必须关闭。
- 正确设置镶嵌数据集无值,勾选替代影像缺失无值,点击“应用”按钮,使设置生效。
- 重新构建镶嵌数据集概视图。
- 重新打开该镶嵌数据集地图,可正确显示。
第二种:
本示例镶嵌数据集中只有一幅影像,无需重建概视图,使用下面的操作也可获得正确显示效果。
- 关闭包含该镶嵌数据集所有地图。
- 正确设置镶嵌数据集无值,勾选替代影像缺失无值,点击“应用”按钮,使设置生效。
- 删除概视图影像文件目录下所有的统计信息文件:*.tif.aux.xml
- 重新打开该镶嵌数据集地图,可正确显示。
此外,启用镶嵌数据无值后,构建镶嵌数据集概视图,也可以去除影像叠加区域的无值,如下图所示:
正确创建影像金字塔
影像金字塔是基于原始影像文件构建,例如.tif影像文件,其影像金字塔文件为.tif.ovr,.tif.ovr也是影像文件,当原始影像文件存在上文所述影像没有无值信息、无值信息错误等问题时,所创建的.tif.ovr影像金字塔具有相同的问题。影像金字塔的这类问题无法通过启用镶嵌数据集无值并重新计算统计数据解决,必须在启用镶嵌数据集无值后,通过镶嵌数据集重新创建影像金字塔。
图4-1:未启用镶嵌数据集无值,金字塔影像无值与影像文件一致 |
图4-2:启用镶嵌数据集无值,金字塔影像无值与镶嵌数据集无值一致 |
本示例异常问题的处理方法:
- 关闭包含该镶嵌数据集所有地图;如果镶嵌数据集中的影像有打开显示的,也必须关闭。
- 正确设置镶嵌数据集无值,勾选替代影像缺失无值,点击“应用”按钮,使设置生效。
- 重新创建金字塔,即可生成包含正确无值信息的金字塔影像。
小结
镶嵌数据集无值可以解决镶嵌数据集中影像在缺失无值、无值信息错误情况下,拉伸显示效果异常的问题,其实质是解决正确计算影像统计数据、计算影像直方图、创建影像金字塔、构建镶嵌数据集概视图以及默认正确去除影像无值区域(无值区域透明显示)。
镶嵌数据集拉伸显示效果正确,有时需要同时处理影像金字塔、影像统计数据和概视图,用户根据实际而定,例如:影像文件无值信息错误,启用镶嵌数据集无值重新创建影像金字塔后,如果未重新计算统计数据,金字塔拉伸显示仍旧使用已有错误的统计数据,结果也是错误的,只有重新计算统计数据,才可以正确显示金字塔影像和原始影像。