Paparazzi UAS  v5.2.2_stable-0-gd6b9f29
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
pprz_geodetic_double.h File Reference

Paparazzi double-precision floating point math for geodetic calculations. More...

#include "pprz_geodetic.h"
#include "pprz_algebra_double.h"
#include "std.h"
+ Include dependency graph for pprz_geodetic_double.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  EcefCoor_d
 vector in EarthCenteredEarthFixed coordinates More...
 
struct  LlaCoor_d
 vector in Latitude, Longitude and Altitude More...
 
struct  NedCoor_d
 vector in North East Down coordinates Units: meters More...
 
struct  EnuCoor_d
 vector in East North Up coordinates Units: meters More...
 
struct  UtmCoor_d
 position in UTM coordinates Units: meters More...
 
struct  LtpDef_d
 definition of the local (flat earth) coordinate system More...
 

Functions

void lla_of_utm_d (struct LlaCoor_d *out, struct UtmCoor_d *in)
 
void ltp_def_from_ecef_d (struct LtpDef_d *def, struct EcefCoor_d *ecef)
 
void lla_of_ecef_d (struct LlaCoor_d *out, struct EcefCoor_d *in)
 
void ecef_of_lla_d (struct EcefCoor_d *out, struct LlaCoor_d *in)
 
void enu_of_ecef_point_d (struct EnuCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef)
 
void ned_of_ecef_point_d (struct NedCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef)
 
void enu_of_ecef_vect_d (struct EnuCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef)
 
void ned_of_ecef_vect_d (struct NedCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef)
 
void ecef_of_enu_point_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct EnuCoor_d *enu)
 
void ecef_of_ned_point_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct NedCoor_d *ned)
 
void ecef_of_enu_vect_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct EnuCoor_d *enu)
 
void ecef_of_ned_vect_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct NedCoor_d *ned)
 
void enu_of_lla_point_d (struct EnuCoor_d *enu, struct LtpDef_d *def, struct LlaCoor_d *lla)
 
void ned_of_lla_point_d (struct NedCoor_d *ned, struct LtpDef_d *def, struct LlaCoor_d *lla)
 
double gc_of_gd_lat_d (double gd_lat, double hmsl)
 

Detailed Description

Paparazzi double-precision floating point math for geodetic calculations.

This is the more detailed description of this file.

Definition in file pprz_geodetic_double.h.

Function Documentation

void ecef_of_enu_point_d ( struct EcefCoor_d ecef,
struct LtpDef_d def,
struct EnuCoor_d enu 
)

Definition at line 109 of file pprz_geodetic_double.c.

References LtpDef_d::ecef, LtpDef_d::ltp_of_ecef, MAT33_VECT3_TRANSP_MUL, and VECT3_ADD.

Referenced by ecef_of_ned_point_d().

+ Here is the caller graph for this function:

void ecef_of_enu_vect_d ( struct EcefCoor_d ecef,
struct LtpDef_d def,
struct EnuCoor_d enu 
)

Definition at line 120 of file pprz_geodetic_double.c.

References LtpDef_d::ltp_of_ecef, and MAT33_VECT3_TRANSP_MUL.

Referenced by ecef_of_ned_vect_d().

+ Here is the caller graph for this function:

void ecef_of_lla_d ( struct EcefCoor_d out,
struct LlaCoor_d in 
)

Definition at line 66 of file pprz_geodetic_double.c.

References LlaCoor_d::alt, LlaCoor_d::lat, LlaCoor_d::lon, EcefCoor_d::x, EcefCoor_d::y, and EcefCoor_d::z.

Referenced by ecef_of_lla_i(), enu_of_lla_point_d(), gps_ardrone2_parse(), and ned_of_lla_point_d().

+ Here is the caller graph for this function:

void ecef_of_ned_point_d ( struct EcefCoor_d ecef,
struct LtpDef_d def,
struct NedCoor_d ned 
)

Definition at line 114 of file pprz_geodetic_double.c.

References ecef_of_enu_point_d(), and ENU_OF_TO_NED.

+ Here is the call graph for this function:

void ecef_of_ned_vect_d ( struct EcefCoor_d ecef,
struct LtpDef_d def,
struct NedCoor_d ned 
)

Definition at line 124 of file pprz_geodetic_double.c.

References ecef_of_enu_vect_d(), and ENU_OF_TO_NED.

+ Here is the call graph for this function:

void enu_of_ecef_point_d ( struct EnuCoor_d ned,
struct LtpDef_d def,
struct EcefCoor_d ecef 
)

Definition at line 85 of file pprz_geodetic_double.c.

References LtpDef_d::ecef, LtpDef_d::ltp_of_ecef, MAT33_VECT3_MUL, and VECT3_DIFF.

Referenced by enu_of_lla_point_d(), and ned_of_ecef_point_d().

+ Here is the caller graph for this function:

void enu_of_ecef_vect_d ( struct EnuCoor_d ned,
struct LtpDef_d def,
struct EcefCoor_d ecef 
)

Definition at line 97 of file pprz_geodetic_double.c.

References LtpDef_d::ltp_of_ecef, and MAT33_VECT3_MUL.

Referenced by ned_of_ecef_vect_d().

+ Here is the caller graph for this function:

void enu_of_lla_point_d ( struct EnuCoor_d enu,
struct LtpDef_d def,
struct LlaCoor_d lla 
)

Definition at line 131 of file pprz_geodetic_double.c.

References ecef_of_lla_d(), and enu_of_ecef_point_d().

+ Here is the call graph for this function:

double gc_of_gd_lat_d ( double  gd_lat,
double  hmsl 
)

Definition at line 145 of file pprz_geodetic_double.c.

References c2.

void lla_of_ecef_d ( struct LlaCoor_d out,
struct EcefCoor_d in 
)

Definition at line 31 of file pprz_geodetic_double.c.

References LlaCoor_d::alt, LlaCoor_d::lat, LlaCoor_d::lon, Q, EcefCoor_d::x, EcefCoor_d::y, and EcefCoor_d::z.

Referenced by lla_of_ecef_i(), and ltp_def_from_ecef_d().

+ Here is the caller graph for this function:

void ltp_def_from_ecef_d ( struct LtpDef_d def,
struct EcefCoor_d ecef 
)

Definition at line 7 of file pprz_geodetic_double.c.

References LtpDef_d::ecef, LlaCoor_d::lat, LtpDef_d::lla, lla_of_ecef_d(), LlaCoor_d::lon, LtpDef_d::ltp_of_ecef, DoubleMat33::m, and VECT3_COPY.

Referenced by gps_feed_value().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ned_of_ecef_point_d ( struct NedCoor_d ned,
struct LtpDef_d def,
struct EcefCoor_d ecef 
)

Definition at line 91 of file pprz_geodetic_double.c.

References enu_of_ecef_point_d(), and ENU_OF_TO_NED.

Referenced by ned_of_lla_point_d().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ned_of_ecef_vect_d ( struct NedCoor_d ned,
struct LtpDef_d def,
struct EcefCoor_d ecef 
)

Definition at line 101 of file pprz_geodetic_double.c.

References enu_of_ecef_vect_d(), and ENU_OF_TO_NED.

Referenced by gps_feed_value().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ned_of_lla_point_d ( struct NedCoor_d ned,
struct LtpDef_d def,
struct LlaCoor_d lla 
)

Definition at line 137 of file pprz_geodetic_double.c.

References ecef_of_lla_d(), and ned_of_ecef_point_d().

+ Here is the call graph for this function: