Skip to content

File wgs84.hpp

File List > Ennui > geodetic > wgs84.hpp

Go to the documentation of this file

#pragma once

#include "ennui_types.hpp"

namespace ennui {
namespace geodetic {

class Wgs84 {
 public:
  static constexpr auto EARTH_SEMIMAJOR_AXIS = 6378137.0;

  static constexpr auto EARTH_INVERSE_FLATTENING = 298.257223563;

  static constexpr auto EARTH_GRAVITATIONAL_FIELD = 3.986004418e14;

  static constexpr auto EARTH_ROTATION_RATE = 7.2921151467e-5;

  static constexpr auto EARTH_SEMIMINOR_AXIS =
      Wgs84::EARTH_SEMIMAJOR_AXIS *
      (1.0 - 1.0 / Wgs84::EARTH_INVERSE_FLATTENING);
  // static constexpr auto EARTH_SEMIMINOR_AXIS = 6.3567523142e6;

  static constexpr auto EARTH_DYNAMICAL_J2 = 1.082629821313e-3;

  static constexpr auto SPEED_OF_LIGHT = 299792458.0;
};

}  // namespace geodetic
}  // namespace ennui