GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
Functions
geofunctions.h File Reference

A set of coordinate transformations functions and helpers, some of them migrated from MATLAB, for geographic information systems. More...

#include <armadillo>

Go to the source code of this file.

Functions

arma::mat Skew_symmetric (const arma::vec &a)
 Calculates skew-symmetric matrix. More...
 
double WGS84_g0 (double Lat_rad)
 
double WGS84_geocentric_radius (double Lat_geodetic_rad)
 
int topocent (double *Az, double *El, double *D, const arma::vec &x, const arma::vec &dx)
 Transformation of vector dx into topocentric coordinate system with origin at x Inputs: x - vector origin coordinates (in ECEF system [X; Y; Z;]) dx - vector ([dX; dY; dZ;]). More...
 
int togeod (double *dphi, double *dlambda, double *h, double a, double finv, double X, double Y, double Z)
 Subroutine to calculate geodetic coordinates latitude, longitude, height given Cartesian coordinates X,Y,Z, and reference ellipsoid values semi-major axis (a) and the inverse of flattening (finv). More...
 
arma::vec Gravity_ECEF (const arma::vec &r_eb_e)
 Calculates acceleration due to gravity resolved about ECEF-frame. More...
 
arma::vec cart2geo (const arma::vec &XYZ, int elipsoid_selection)
 Conversion of Cartesian coordinates (X,Y,Z) to geographical coordinates (latitude, longitude, h) on a selected reference ellipsoid. More...
 
arma::vec LLH_to_deg (const arma::vec &LLH)
 
double degtorad (double angleInDegrees)
 
double radtodeg (double angleInRadians)
 
double mstoknotsh (double MetersPerSeconds)
 
double mstokph (double MetersPerSeconds)
 
arma::vec CTM_to_Euler (const arma::mat &C)
 
arma::mat Euler_to_CTM (const arma::vec &eul)
 
void ECEF_to_Geo (const arma::vec &r_eb_e, const arma::vec &v_eb_e, const arma::mat &C_b_e, arma::vec &LLH, arma::vec &v_eb_n, arma::mat &C_b_n)
 
void Geo_to_ECEF (const arma::vec &LLH, const arma::vec &v_eb_n, const arma::mat &C_b_n, arma::vec &r_eb_e, arma::vec &v_eb_e, arma::mat &C_b_e)
 From Geographic to ECEF coordinates. More...
 
void pv_Geo_to_ECEF (double L_b, double lambda_b, double h_b, const arma::vec &v_eb_n, arma::vec &r_eb_e, arma::vec &v_eb_e)
 Converts curvilinear to Cartesian position and velocity resolving axes from NED to ECEF This function created 11/4/2012 by Paul Groves. More...
 
double great_circle_distance (double lat1, double lon1, double lat2, double lon2)
 The Haversine formula determines the great-circle distance between two points on a sphere given their longitudes and latitudes. More...
 
void cart2utm (const arma::vec &r_eb_e, int zone, arma::vec &r_enu)
 Transformation of ECEF (X,Y,Z) to (E,N,U) in UTM, zone 'zone'. More...
 
int findUtmZone (double latitude_deg, double longitude_deg)
 Function finds the UTM zone number for given longitude and latitude. More...
 
double clsin (const arma::colvec &ar, int degree, double argument)
 Clenshaw summation of sinus of argument. More...
 
void clksin (const arma::colvec &ar, int degree, double arg_real, double arg_imag, double *re, double *im)
 Clenshaw summation of sinus with complex argument. More...
 

Detailed Description

A set of coordinate transformations functions and helpers, some of them migrated from MATLAB, for geographic information systems.

Author
Javier Arribas, 2018. jarribas(at)cttc.es

GNSS-SDR is a Global Navigation Satellite System software-defined receiver. This file is part of GNSS-SDR.

Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors) SPDX-License-Identifier: GPL-3.0-or-later


Definition in file geofunctions.h.