MLIB
Loading...
Searching...
No Matches
convert.h File Reference

Conversion functions and frequently used constants. More...

#include <math.h>
#include <numbers>
#include <string>

Go to the source code of this file.

Macros

#define M_PI   std::numbers::pi
 
#define NM2M   1852.
 Nautical mile to meters conversion factor.
 
#define MPS2KNOT   (3600. / NM2M)
 Meters/sec to knots conversion factor.
 
#define USFOOT2M   (1200. / 3937.)
 US Survey foot to meters conversion factor.
 

Enumerations

enum  mlib::deg_fmt { mlib::degrees = 0 , mlib::minutes = 1 , mlib::seconds = 2 }
 Formatting options for degtoa() function. More...
 

Functions

constexpr double DEG (double dd)
 Convert decimal degrees to radians.
 
constexpr double D2rad (double dd)
 Convert decimal degrees to radians.
 
constexpr double rad2D (double r)
 Convert radians to decimal degrees.
 
constexpr double DM (double dd, double mm)
 Convert degrees, minutes to radians.
 
constexpr double DM2deg (double ddmm)
 Convert degrees, minutes (DDMM.mmm) to decimal degrees.
 
constexpr double deg2DM (double dd)
 Convert decimal degrees to degrees, minutes (DDMM.mmm)
 
constexpr double rad2DM (double rad)
 Convert from radians to degrees, minutes (DDMM.mmm)
 
constexpr double DM2rad (double val)
 Convert degrees, minutes (DDMM.mmm) to radians.
 
constexpr double DMS (double dd, double mm, double ss)
 Convert degrees, minutes seconds to radians.
 
constexpr double DMS2deg (double dms)
 Convert degrees, minutes, seconds (DDMMSS.sss) to decimal degrees.
 
constexpr double DMS2rad (double dms)
 Convert degrees, minutes, seconds (DDMMSS.sss) to radians.
 
double mlib::deg_reduce (double value)
 Reduces a degrees value to [0,360) interval.
 
std::string mlib::degtoa (double degrees, deg_fmt format, bool latitude, int precision)
 Conversion from degrees to a string.
 
double mlib::atodeg (const std::string &str)
 Conversion from string to decimal degrees.
 
constexpr double operator""_ftUS (long double ftus)
 
constexpr double operator""_ftUS (unsigned long long ftus)
 
constexpr double operator""_nmi (long double nmi)
 
constexpr double operator""_nmi (unsigned long long nmi)
 
constexpr double operator""_deg (long double deg)
 
constexpr double operator""_deg (unsigned long long deg)
 
constexpr double operator""_arcmin (long double min)
 
constexpr double operator""_arcmin (unsigned long long min)
 
constexpr double operator""_dm (long double val)
 
constexpr double operator""_dm (unsigned long long val)
 
constexpr double operator""_dms (long double val)
 
constexpr double operator""_dms (unsigned long long val)
 
constexpr double operator""_arcsec (long double sec)
 
constexpr double operator""_arcsec (unsigned long long sec)
 
constexpr double operator""_mas (long double mas)
 
constexpr double operator""_mas (unsigned long long mas)
 

Variables

constexpr double D2R = M_PI / 180.
 Degrees to radians conversion factor.
 
constexpr double A_WGS84 = 6378137.000
 Semimajor axis of WGS84 ellipsoid.
 
constexpr double F_WGS84 = 0.003352810664747
 Flattening of WGS84 ellipsoid.
 
constexpr double F1_WGS84 = 298.257223563
 Inverse of flattening for WGS84 ellipsoid.
 
constexpr double MAS = M_PI / (180 * 3600000.)
 milli-arcsecond
 

Detailed Description

Conversion functions and frequently used constants.