Cogs.Core
Public Member Functions | Private Attributes | List of all members
Cogs::LLToENUConverter Class Reference

Converts WGS latitude-longitude coordinates to ENU local tangential east-north-up coordinate system. More...

#include <GeodeticUtils.h>

Public Member Functions

 LLToENUConverter (double latitude, double longitude, double altitude=0.0)
 Constructs a new LLToENUConverter.
 
 LLToENUConverter (const LLToENUConverter &)=default
 
 LLToENUConverter (LLToENUConverter &&)=default
 
glm::dvec3 convert (double latitude, double longitude, double altitude=0.0) const
 Converts the given latitude/longitude/altitude coordinates into local tangent plane ENU coordinates where X represents East, Y equals North, and Z is the height above the plane.
 
glm::dvec2 calcVectorBetweenCoordinates (double lat1, double long1, double lat2, double long2) const
 Calculates a vector between the two geodetic points in ENU space.
 

Private Attributes

glm::dvec3 ecefRef
 
glm::dmat3x3 ecefToENUMatrix
 

Detailed Description

Converts WGS latitude-longitude coordinates to ENU local tangential east-north-up coordinate system.

Construct an LLToENUConverter instance with a reference point which will be used as the origin for the converted ENU coordinates.

Definition at line 46 of file GeodeticUtils.h.

Constructor & Destructor Documentation

◆ LLToENUConverter()

Cogs::LLToENUConverter::LLToENUConverter ( double  latitude,
double  longitude,
double  altitude = 0.0 
)

Constructs a new LLToENUConverter.

This converter will treat the given position as the reference point (I.e., the origin in the ENU plane) for conversion. All converted points will be relative to that origin. *============================================================================================

Definition at line 220 of file GeodeticUtils.cpp.

Member Function Documentation

◆ calcVectorBetweenCoordinates()

glm::dvec2 Cogs::LLToENUConverter::calcVectorBetweenCoordinates ( double  lat1,
double  long1,
double  lat2,
double  long2 
) const

Calculates a vector between the two geodetic points in ENU space.

*============================================================================================

Definition at line 251 of file GeodeticUtils.cpp.

◆ convert()

glm::dvec3 Cogs::LLToENUConverter::convert ( double  latitude,
double  longitude,
double  altitude = 0.0 
) const

Converts the given latitude/longitude/altitude coordinates into local tangent plane ENU coordinates where X represents East, Y equals North, and Z is the height above the plane.

It should be noted that an altitude of 0.0 will result in coordinates that sit below the ENU plane. I.e., on the surface of the earth, so the further the point is from the origin, the further down it will be. *============================================================================================

Definition at line 244 of file GeodeticUtils.cpp.

Member Data Documentation

◆ ecefRef

glm::dvec3 Cogs::LLToENUConverter::ecefRef
private

Definition at line 56 of file GeodeticUtils.h.

◆ ecefToENUMatrix

glm::dmat3x3 Cogs::LLToENUConverter::ecefToENUMatrix
private

Definition at line 57 of file GeodeticUtils.h.


The documentation for this class was generated from the following files: