Communication Library for Autonomous Systems v1.0
Reliable and secure communication library for autonomous vehicle systems
Loading...
Searching...
No Matches
geo_utils.h
Go to the documentation of this file.
1#ifndef GEO_UTILS_H
2#define GEO_UTILS_H
3
4#include <cmath>
5
6class GeoUtils {
7public:
8 // Simple Euclidean distance calculation for Cartesian coordinates
9 static double cartesianDistance(double x1, double y1, double x2, double y2) {
10 double dx = x2 - x1;
11 double dy = y2 - y1;
12 return sqrt(dx * dx + dy * dy);
13 }
14
15 // Alias for cartesianDistance
16 static double euclideanDistance(double x1, double y1, double x2, double y2) {
17 return cartesianDistance(x1, y1, x2, y2);
18 }
19
20 // Legacy method name for backward compatibility
21 static double haversineDistance(double x1, double y1, double x2, double y2) {
22 return cartesianDistance(x1, y1, x2, y2);
23 }
24
25 // Check if point is within circular area
26 static bool isWithinRadius(double x1, double y1, double x2, double y2, double radius) {
27 return cartesianDistance(x1, y1, x2, y2) <= radius;
28 }
29};
30
31#endif // GEO_UTILS_H
Definition geo_utils.h:6
static double cartesianDistance(double x1, double y1, double x2, double y2)
Definition geo_utils.h:9
static double euclideanDistance(double x1, double y1, double x2, double y2)
Definition geo_utils.h:16
static double haversineDistance(double x1, double y1, double x2, double y2)
Definition geo_utils.h:21
static bool isWithinRadius(double x1, double y1, double x2, double y2, double radius)
Definition geo_utils.h:26
Select_Debug<(Traits< T >::debugged &&Traits< Debug >::error)> db(Debug_Error l)
Definition debug.h:166