Skip to content
Snippets Groups Projects

WorldToEcef and EcefToWorld free functions

Merged Cédric Traizet requested to merge world_to_ecef_free_function into develop
All threads resolved!

Summary

GeocentricTransform<TDirectionOfMapping, TScalarType> is a otb::Transform that can be used to transform geographic points to and from ECEF points.

In some cases it is interesting to perform the conversion without having to instantiate a transform object, for example if only one conversion is required. This MR implements otb::Projection::WorldToEcef and otb::Projection::EcefToWorld as free function. These functions are used internally by GeocentricTransform

See this discussion

Implementation Details

The functions are implemented in Modules/Core/Transform/GeocentricTransform.h/hxx and are templated over the scalar type and over a struct holding the ellipsoid parameters used for the computations. By default the WGS84 ellispoid parameters (new struct otb::Projection::WGS84Ellispoid) are used. Prior to this merge request, these parameters were stored in GeocentricTransform

Additionally, this MR removes useless map projection instantiation in the GeocentricTransform constructor, which is now defaulted.

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 :thumbsup: votes from core developers, no :thumbsdown: 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
Edited by Cédric Traizet

Merge request reports

Merge request pipeline #9276 passed

Merge request pipeline passed for 44bd316e

Approval is optional

Merged by Cédric TraizetCédric Traizet 3 years ago (Dec 8, 2021 4:55pm UTC)

Merge details

Pipeline #9277 failed

Pipeline failed for cb134b4f on develop

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Luc Hermitte
  • Luc Hermitte
  • Luc Hermitte
  • Luc Hermitte
  • Luc Hermitte
  • added 1 commit

    • c500fa5b - PERF: optimize WorldToEcef and EcefToWorld (code review)

    Compare with previous version

  • Cédric Traizet resolved all threads

    resolved all threads

  • Luc Hermitte
  • Cédric Traizet resolved all threads

    resolved all threads

  • added 1 commit

    • 44bd316e - PERF: More optimaztions of WorldToEcef and EcefToWorld (code review)

    Compare with previous version

  • Cédric Traizet mentioned in commit cb134b4f

    mentioned in commit cb134b4f

  • Please register or sign in to reply
    Loading