Refactor optical image metadata interface
Summary
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.
Copyright
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 | clang-format-diff.py -p1 -i
on latest changes and commit