Enroute Flight Navigation
A navigation app for VFR pilots
Geoid.h
1
18
19#pragma once
20
21#include <QGeoCoordinate>
22
23#include "units/Distance.h"
24
25namespace Positioning {
26
48
49class Geoid
50{
51public:
52 Geoid() = delete;
53
54 //
55 // Methods
56 //
57
64 static auto separation(const QGeoCoordinate& coord) -> Units::Distance;
65
66private:
67 // Reads data into the vector egm
68 static void readEGM();
69
70 static QVector<qint16> egm; // holds the data read from the binaray data file WW15MGH.DAC
71
72 // https://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/binary/readme.txt
73 // https://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/binary/binarygeoid.html
74
75 const static qint32 egm96_rows = 721;
76 const static qint32 egm96_cols = 1440;
77 const static qint32 egm96_size = egm96_rows * egm96_cols;
78};
79
80} // namespace Positioning
static auto separation(const QGeoCoordinate &coord) -> Units::Distance
return geoidal separation – the difference between AMSL and ellipsoidal height.
Convenience class for distance computations.
Definition Distance.h:35