[gdal-dev] Save min/max values in TIFF

Javier Jimenez Shaw j1 at jimenezshaw.com
Sat Nov 12 02:33:33 PST 2022


Thanks!
.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__
Entre dos pensamientos racionales
hay infinitos pensamientos irracionales.



On Fri, 11 Nov 2022 at 19:25, Even Rouault <even.rouault at spatialys.com>
wrote:

>
> Le 11/11/2022 à 19:12, Javier Jimenez Shaw a écrit :
>
> Hi
>
> I am creating a GeoTIFF file with C++. It is a large DSM (one band of
> Float32). Because I am generating it, I already know the min and max values.
> I would like to store the min and max values directly in the TIFF, not in
> a sidecar file. Is there any gdal metadata (stored in the TIFF) that can be
> used? That way, when I open it in QGIS, the range of the band will be
> accurate.
>
> yep, see https://gdal.org/user/raster_data_model.html#raster-band
>
> Demo:
>
> $ python
> from osgeo import gdal
> ds = gdal.GetDriverByName('GTiff').Create('test.tif', 1, 1)
> ds.GetRasterBand(1).SetMetadataItem('STATISTICS_MINIMUM', '0')
> ds.GetRasterBand(1).SetMetadataItem('STATISTICS_MAXIMUM', '1')
> ds.GetRasterBand(1).SetMetadataItem('STATISTICS_MEAN', '2')
> ds.GetRasterBand(1).SetMetadataItem('STATISTICS_STDDEV', '3')
>
>
> $ gdalinfo test.tif
> Driver: GTiff/GeoTIFF
> Files: test.tif
> Size is 1, 1
> Image Structure Metadata:
>   INTERLEAVE=BAND
> Corner Coordinates:
> Upper Left  (    0.0,    0.0)
> Lower Left  (    0.0,    1.0)
> Upper Right (    1.0,    0.0)
> Lower Right (    1.0,    1.0)
> Center      (    0.5,    0.5)
> Band 1 Block=1x1 Type=Byte, ColorInterp=Gray
>   Min=0.000 Max=1.000
>   Minimum=0.000, Maximum=1.000, Mean=2.000, StdDev=3.000
>   Metadata:
>     STATISTICS_MAXIMUM=1
>     STATISTICS_MEAN=2
>     STATISTICS_MINIMUM=0
>     STATISTICS_STDDEV=3
>
> $ tiffdump -m 1000 test.tif
> test.tif:
> Magic: 0x4949 <little-endian> Version: 0x2a <ClassicTIFF>
> Directory 0: offset 8 (0x8) next 0 (0)
> ImageWidth (256) SHORT (3) 1<1>
> ImageLength (257) SHORT (3) 1<1>
> BitsPerSample (258) SHORT (3) 1<8>
> Compression (259) SHORT (3) 1<1>
> Photometric (262) SHORT (3) 1<1>
> StripOffsets (273) LONG (4) 1<402>
> SamplesPerPixel (277) SHORT (3) 1<1>
> RowsPerStrip (278) SHORT (3) 1<1>
> StripByteCounts (279) LONG (4) 1<1>
> PlanarConfig (284) SHORT (3) 1<1>
> SampleFormat (339) SHORT (3) 1<1>
> 42112 (0xa480) ASCII (2) 244<<GDALMetadata>\n  <Item
> name="STATISTICS_MAXIMUM" sample="0">1</Item>\n  <Item
> name="STATISTICS_MEAN" sample="0">2</Item>\n  <Item
> name="STATISTICS_MINIMUM" sample="0">0</Item>\n  <Item
> name="STATISTICS_STDDEV" sample="0">3</Item>\n</GDALMetadata>\n\0>
>
> Even
>
>
> Thanks.
> .___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__
> Entre dos pensamientos racionales
> hay infinitos pensamientos irracionales.
>
>
> _______________________________________________
> gdal-dev mailing listgdal-dev at lists.osgeo.orghttps://lists.osgeo.org/mailman/listinfo/gdal-dev
>
> -- http://www.spatialys.com
> My software is free, but my time generally not.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20221112/544bff98/attachment.htm>


More information about the gdal-dev mailing list