Cogs.Foundation
Loading...
Searching...
No Matches
Functions
GeodeticUtils.cpp File Reference
#include "GeodeticUtils.h"
#include <string>
#include <cmath>
#include <glm/glm.hpp>

Functions

void LLtoUTMZone (int &zoneNumber, bool &northernHemisphere, const double latitude, const double longitude, const int)
 
void LLtoUTM (double &easting, double &northing, const double latitude, const double longitude, int zone, bool north, const int referenceEllipsoid)
 
glm::dvec3 LLtoECEF (double latitude, double longitude, double altitude)
 Converts the given geodetic position to an ECEF (Earth Centred, Earth Fixed) coordinate.
 
glm::dvec2 calcUTMVectorBetweenCoordinates (double lat1, double long1, double lat2, double long2, int zone1, int zone2)
 Calculate a straight line vector in UTM units from lat1,long1 to lat2,long2.
 
float calcBearingBetweenCoordinates (double lat1, double long1, double lat2, double long2, int zone)
 Calculate a bearing in degrees from lat1,long1 to lat2,long2.
 

Function Documentation

◆ calcBearingBetweenCoordinates()

float calcBearingBetweenCoordinates ( double  lat1,
double  long1,
double  lat2,
double  long2,
int  zone 
)

Calculate a bearing in degrees from lat1,long1 to lat2,long2.

References LLtoUTMZone().

◆ calcUTMVectorBetweenCoordinates()

glm::dvec2 calcUTMVectorBetweenCoordinates ( double  lat1,
double  long1,
double  lat2,
double  long2,
int  zone1,
int  zone2 
)

Calculate a straight line vector in UTM units from lat1,long1 to lat2,long2.

References LLtoUTM(), and LLtoUTMZone().

◆ LLtoECEF()

glm::dvec3 LLtoECEF ( double  latitude,
double  longitude,
double  altitude 
)

Converts the given geodetic position to an ECEF (Earth Centred, Earth Fixed) coordinate.

Converts a WGS latitude-longitude to Earth-centered, Earth-fixed (ECEF) cartesian coordinates.

https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates *============================================================================================

Referenced by Cogs::LLToENUConverter::convert(), and Cogs::LLToENUConverter::LLToENUConverter().

◆ LLtoUTM()

void LLtoUTM ( double &  easting,
double &  northing,
const double  latitude,
const double  longitude,
int  zone,
bool  north,
const int  referenceEllipsoid 
)

◆ LLtoUTMZone()

void LLtoUTMZone ( int &  zoneNumber,
bool &  northernHemisphere,
const double  latitude,
const double  longitude,
const int  referenceEllipsoid 
)