Skip to content

Refactor optical image metadata interface

Cédric Traizet requested to merge optical_imi into develop


Part of #2024 (closed)

Refactor image metadata interface for optimal sensors. The metadata are now read by gdal instead of ossim. Concerned sensor are :

  • Dimap family :
    • Pléiades
    • Formosat
    • Spot 5
    • Spot 6
  • Digital Globe family :
    • Quickbird
    • Worldview 2
  • GeoEye family
    • Ikonos

The following metadata are parsed:

  • RPC coefficients
  • SensorID
  • SunElevation
  • SunAzimuth
  • SatElevation
  • SatAzimuth
  • AcquisitionDate
  • ProductionDate
  • PhysicalBias for each band
  • PhysicalGain for each band
  • SolarIrradiance for each band
  • SpectralSensitivity for each band

Implementation Details

When possible, metadata are read with GDAL (using the GDALImageIO class, and in particular the GetMetadataValue() method). However in many cases, all the metadata we are interested in are not parsed by GDAL, which means ImageMetadataInterface classes have to read them. Generally, this is done by finding the metadata file associated with the product (using GetRessourceFiles from GDALImageIO). Then the metadata files are parsed (for example using XMLMetadataSupplier, or by parsing the files manually)

Some metadata are not fetched from products and are hardcoded in OTB, for example this the case for Spectral Sensitivity tables.


The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.

Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | -p1 -i on latest changes and commit
Edited by Cédric Traizet

Merge request reports