GDAL ComputeRasterMinMax .aux.xml

原创 2016年06月02日 00:16:29

这个函数的第一个参数bApproxOK,TRUE表示精确统计,速度慢,图像的所有像元都遍历一边,FALSE表示粗略统计,速度快,但是不一定准确。函数还有个返回值,是CPLErr类型,如果返回CE_None表示计算成功,其他的可以参考GDAL的相关说明。

第二个参数pdfMinMax,是用来存储统计出来的最小值和最大值。这个数组一般是一个double [2],第0个表示最小值,第1个表示最大值。

切记,调用了函数GDALRasterBand::ComputeRasterMinMax ()之后,GDAL不会把最大值和最小值写入.aux.xml中。如果想把最大值和最小值写入.aux.xml中,需要手动调用:
    CPLsnprintf( szValue, sizeof(szValue), "%.14g", dfMin );
    SetMetadataItem( "STATISTICS_MINIMUM", szValue );


    CPLsnprintf( szValue, sizeof(szValue), "%.14g", dfMax );
    SetMetadataItem( "STATISTICS_MAXIMUM", szValue );

通常情况下此函数和GDALRasterBand::GetMinimum()、GDALRasterBand::GetMaximum()配套使用。

只有直接调用函数GDALRasterBand::GetMinimum()和GDALRasterBand::GetMaximum() 获取不成功时才需要调用ComputeRasterMinMax函数。

并可以将ComputeRasterMinMax的计算的结果存入.aux.xml中:下次就不需要再统计一遍了 ,如果有.aux.xml文件,且.aux.xml中有最大最小值,直接调用函数GDALRasterBand::GetMinimum()和GDALRasterBand::GetMaximum()就能获取到准确的结果。

代码逻辑如下:

      int bGotMin, bGotMax;
      double adfMinMax[2];
      adfMinMax[0] = poBand->GetMinimum( &bGotMin );
      adfMinMax[1] = poBand->GetMaximum( &bGotMax );
      if( ! (bGotMin && bGotMax) )
      {
         GDALComputeRasterMinMax(poBand, FALSE, adfMinMax);
         CPLsnprintf( szValue, sizeof(szValue), "%.14g", dfMin );
         SetMetadataItem( "STATISTICS_MINIMUM", szValue );
         CPLsnprintf( szValue, sizeof(szValue), "%.14g", dfMax );
         SetMetadataItem( "STATISTICS_MAXIMUM", szValue );
      }



有点坑爹的GDALComputeRasterMinMax函数

作者:朱金灿来源:http://blog.csdn.net/clever101            GDALComputeRasterMinMax函数是gdal库为了求取指定波段的极值而提供的接口。...

GDAL随记-GDALRasterBand中的API自学

GDAL的GDALRasterBand中GetStatics(),GetHistogram()和GetMaximum()以及GetMiniMum()方法的使用.

读取XML中的信息GDAL生成shp文件

在上一篇介绍了通过影像获取边界范围,这一篇介绍通过XML获取影像边界范围,不过下面是生成的点图层,需要的可以改为面图层。 在国产卫星影像(如GF1,GF2)压缩包中,通常会存在一个XML文件,里面存有...

Linux下的ps aux命令详解

  • 2014年08月20日 09:48
  • 65KB
  • 下载

QQ2010_AUX_M909_Build045.jad

  • 2012年07月31日 10:04
  • 548B
  • 下载

ps -aux 状态详解

运行 ps aux 的到如下信息:    ps aux USER    PID   %CPU %MEM VSZ   RSS TTY    STAT   START TIME COMMAND sm...
  • whatday
  • whatday
  • 2017年01月13日 15:54
  • 1301

AUX音频输入按键处理函数

  • 2013年03月26日 17:19
  • 5KB
  • 下载

一篇很好的EDP入门介绍文章——了解AUX,PSR,ASSR 以及EDP版本的差异

嵌入式DisplayPort(eDP)系视讯电子标准协会(VESA)针对行动装置应用,所制定的新一代面板介面,其不仅传输率更胜传统的低电压差动讯号(LVDS)介面,最新1.4版规格更加入许多降低系统功...

一步一步创建Sencha Architect Files(aux)

  • 2014年07月14日 15:26
  • 1.04MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GDAL ComputeRasterMinMax .aux.xml
举报原因:
原因补充:

(最多只允许输入30个字)