#include <cmath>
#include "../OpenTracker.h"
#include "../misc/GeoidModel.h"
Include dependency graph for GPSParser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Namespaces | |
| namespace | ot |
Classes | |
| class | ot::GPResult |
| class | ot::GPGGA |
| class | ot::GPVTG |
| class | ot::HCHDG |
| class | ot::PGRMZ |
| class | ot::GPSParser |
Defines | |
| #define | UTM_NO_ERROR 0x0000 |
| #define | UTM_LAT_ERROR 0x0001 |
| #define | UTM_LON_ERROR 0x0002 |
| #define | UTM_EASTING_ERROR 0x0004 |
| #define | UTM_NORTHING_ERROR 0x0008 |
| #define | UTM_ZONE_ERROR 0x0010 |
| #define | UTM_HEMISPHERE_ERROR 0x0020 |
| #define | UTM_ZONE_OVERRIDE_ERROR 0x0040 |
| #define | UTM_A_ERROR 0x0080 |
| #define | UTM_INV_F_ERROR 0x0100 |
| #define | TRANMERC_NO_ERROR 0x0000 |
| #define | TRANMERC_LAT_ERROR 0x0001 |
| #define | TRANMERC_LON_ERROR 0x0002 |
| #define | TRANMERC_EASTING_ERROR 0x0004 |
| #define | TRANMERC_NORTHING_ERROR 0x0008 |
| #define | TRANMERC_ORIGIN_LAT_ERROR 0x0010 |
| #define | TRANMERC_CENT_MER_ERROR 0x0020 |
| #define | TRANMERC_A_ERROR 0x0040 |
| #define | TRANMERC_INV_F_ERROR 0x0080 |
| #define | TRANMERC_SCALE_FACTOR_ERROR 0x0100 |
| #define | TRANMERC_LON_WARNING 0x0200 |
| #define | PI 3.14159265358979323e0 |
| #define | PI_OVER (PI/2.0e0) |
| #define | MAX_LAT ((PI * 89.99)/180.0) |
| #define | MAX_DELTA_LONG ((PI * 90)/180.0) |
| #define | MIN_SCALE_FACTOR 0.3 |
| #define | MAX_SCALE_FACTOR 3.0 |
| #define | MIN_LAT ( (-80.5 * PI) / 180.0 ) |
| #define | MIN_EASTING 100000 |
| #define | MAX_EASTING 900000 |
| #define | MIN_NORTHING 0 |
| #define | MAX_NORTHING 10000000 |
| #define | SPHTMD(lat) |
| #define | SPHSN(lat) |
| #define | SPHSR(lat) |
| #define | DENOM(lat) ((double) (sqrt(1.e0 - TranMerc_es * pow(sin(lat),2)))) |
Variables | |
| static double | UTM_a = 6378137.0 |
| static double | UTM_f = 1 / 298.257223563 |
| static long | UTM_Override = 0 |
| static double | TranMerc_a = 6378137.0 |
| static double | TranMerc_f = 1 / 298.257223563 |
| static double | TranMerc_es = 0.0066943799901413800 |
| static double | TranMerc_ebs = 0.0067394967565869 |
| static double | TranMerc_Origin_Lat = 0.0 |
| static double | TranMerc_Origin_Long = 0.285070444 |
| static double | TranMerc_False_Northing = -5000000.0 |
| static double | TranMerc_False_Easting = 0.0 |
| static double | TranMerc_Scale_Factor = 1.0 |
| static double | TranMerc_ap = 6367449.1458008 |
| static double | TranMerc_bp = 16038.508696861 |
| static double | TranMerc_cp = 16.832613334334 |
| static double | TranMerc_dp = 0.021984404273757 |
| static double | TranMerc_ep = 3.1148371319283e-005 |
| static double | TranMerc_Delta_Easting = 40000000.0 |
| static double | TranMerc_Delta_Northing = 40000000.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: ((double) (TranMerc_a / sqrt( 1.e0 - TranMerc_es * \ pow(sin(lat), 2)))) |
|
|
Value: ((double) (TranMerc_a * (1.e0 - TranMerc_es) / \ pow(DENOM(lat), 3))) |
|
|
Value: ((double) (TranMerc_ap * lat \ - TranMerc_bp * sin(2.e0 * lat) + TranMerc_cp * sin(4.e0 * lat) \ - TranMerc_dp * sin(6.e0 * lat) + TranMerc_ep * sin(8.e0 * lat) ) ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.4.6