Refactor GeocentricTransform and remove EllipsoidAdapter
GeocentricTransform is a subclass of otb::Transform implementing WGS 84 geographical to ECEF geocentric coordinate transformation. This class uses the EllipsoidAdapter, the adapter class to ossimEllipsoid.
As part of the Ossim removal refactoring, this MR modifies the class to use OGR coordinate transformations instead of Ossim. ECEF coordinates are defined by the EPSG:4978 code.
This MR also removes the NInputDimensions and NOutputDimensions template parameters of
GeocentricTransform and fixes the input and output dimensions to 3, as the transformation is not defined for dimension 2 (the current code would actually crash for a geocentric of input or output dimension of 2. The class is still templated over the transform direction (FORWARD/INVERSE) and the scalar type used.
This class was actually not used in OTB, excepted in the prTvGeocentricTransform test, as ECEF transformations were only used in OssimPlugins, not OTB. However this MR also refactors SarSensorModel to use
otb::GeocentricTransform instead of
otb::GenericMapProjection with the EPSG:4978 map projection.
This MR also removes EllipsoidAdapter from otb, as it is not used anymore.
prTvGeocentricTransform tests the class. Therefore this MR is validated by non regression on this test. All test using SarSensorModel are also impacted by this MR.
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 -ion latest changes and commit