GNSSFormatConversions.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include "GeoreferenceInternalStructures.h"
  10. #include <AzCore/Math/Matrix4x4.h>
  11. #include <Georeferencing/GeoreferenceStructures.h>
  12. namespace Georeferencing::Utils::GeodeticConversions
  13. {
  14. //! Converts point in 1984 World Geodetic System (GS84) to Earth Centred Earth Fixed (ECEF)
  15. //! @param latitudeLongitudeAltitude - point's latitude, longitude and altitude as WGS::WGS84Coordinate.
  16. //! latitude and longitude are in decimal degrees
  17. //! altitude is in meters
  18. //! @return 3d vector of ECEF coordinates.
  19. WGS::Vector3d WGS84ToECEF(const WGS::WGS84Coordinate& latitudeLongitudeAltitude);
  20. //! Converts Earth Centred Earth Fixed (ECEF) coordinates to local east, north, up (ENU)
  21. //! @param referenceLatitudeLongitudeAltitude - reference point's latitude, longitude and altitude as 3d vector.
  22. //! latitude and longitude are in decimal degrees
  23. //! altitude is in meters
  24. //! @param ECEFPoint - ECEF point to bo converted.
  25. //! @return 3d vector of local east, north, up (ENU) coordinates.
  26. WGS::Vector3d ECEFToENU(const WGS::WGS84Coordinate& referenceLatitudeLongitudeAltitude, const WGS::Vector3d& ECEFPoint);
  27. //! Converts local east, north, up (ENU) coordinates to Earth Centred Earth Fixed (ECEF)
  28. //! @param referenceLatitudeLongitudeAltitude - reference point's latitude, longitude and altitude as WGS::WGS84Coordinate.
  29. //! @param ENUPoint - ENU point to bo converted.
  30. //! @return 3d vector of ECEF coordinates.
  31. WGS::Vector3d ENUToECEF(const WGS::WGS84Coordinate& referenceLatitudeLongitudeAltitude, const WGS::Vector3d& ENUPoint);
  32. //! Converts point in Earth Centred Earth Fixed (ECEF) to 984 World Geodetic System (GS84)
  33. //! @param ECEFPoint - ECEF point to bo converted.
  34. //! @return point's latitude, longitude and altitude as 3d vector.
  35. //! latitude and longitude are in decimal degrees
  36. //! altitude is in meters
  37. WGS::WGS84Coordinate ECEFToWGS84(const WGS::Vector3d& ECFEPoint);
  38. } // namespace Georeferencing::Utils::GeodeticConversions