45 Location(
const Unit& unit,
const double& lat,
const double& lon,
bool scaleValues =
true );
68 void setLat(
const Unit& unit,
const double& lat );
70 void setLon(
const Unit& unit,
const double& lat );
85 virtual bool copyTo(
const Unit& unit,
unsigned char& assignTo )
const
91 virtual bool copyTo(
const Unit& unit,
float& assignTo )
const
97 virtual bool copyTo(
const Unit& unit,
double& assignTo )
const
103 virtual bool copyTo(
const Unit& unit,
double& assignTo,
unsigned int dim )
const;
218 static double GetBearing(
const double& latitude0,
const double& longitude0,
const double& latitude1,
const double& longitude1 );
221 double getBearing(
const double& latitude,
const double& longitude )
const;
227 static void CalcVector(
const double& lat0,
const double& lon0,
const double& lat1,
const double& lon1,
double& toEast,
double& toNorth );
233 static double GetDistance(
const double& latitude0,
const double& longitude0,
const double& latitude1,
const double& longitude1 );
238 static double GetDistanceFast(
const double& latitude0,
const double& longitude0,
const double& latitude1,
const double& longitude1 );
241 double getDistance(
const double& latitude,
const double& longitude )
const;
249 static void AtBearing(
const float bearing,
const float distance,
double& lat,
double& lon );
251 static void AtBearingEllipsoid(
const float bearing,
const float distance,
double& lat,
double& lon );
254 void atBearing(
const double bearing,
const double distance );
257 static double NorthingsDelta(
const double startLat,
const float northingsDelta );
260 static double EastingsDelta(
const double startLat,
const double startLon,
const float eastingsDelta );
263 static void Delta(
double& lat,
double& lon,
double northings,
double eastings );
266 static double HavSin(
double angle );
static void Delta(double &lat, double &lon, double northings, double eastings)
Definition: Location.cpp:442
double & lon_
Longitude, in radians east.
Definition: Location.h:296
static double HavSin(double angle)
Definition: Location.cpp:447
double getDistanceFast(const Location &location1) const
Definition: Location.cpp:343
bool setFrom(const Unit &unit, float value)
set from float value
Definition: Location.h:178
static double EastingsDelta(const double startLat, const double startLon, const float eastingsDelta)
Definition: Location.cpp:434
virtual ~Location()
Destructor.
Definition: Location.h:54
const Location operator+(const Location &rhs) const
Definition: Location.cpp:270
bool setFrom(const Unit &unit, int value)
set int value
Definition: Location.h:184
virtual bool copyTo(const Unit &unit, float &assignTo) const
Copy value to float.
Definition: Location.h:91
double value_[2]
Definition: Location.h:290
double & lat_
Latitude, in radians north.
Definition: Location.h:293
static double GetBearing(const double &latitude0, const double &longitude0, const double &latitude1, const double &longitude1)
Definition: Location.cpp:289
Str toString(const Unit &unit) const
Definition: Location.cpp:213
void calcVector(const Location &location1, double &toEast, double &toNorth) const
Definition: Location.cpp:315
const double getLat(const Unit &unit) const
Override new.
Definition: Location.cpp:64
bool isNan() const
Definition: Location.cpp:265
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
Location & operator=(const Location &rhs)
Definition: Location.cpp:244
Location * copy() const
Return a pointer to a new copy.
Definition: Location.cpp:113
virtual bool copyTo(const Unit &unit, double &assignTo) const
Copy value to double.
Definition: Location.h:97
const Location operator-(const Location &rhs) const
Definition: Location.cpp:275
bool setFrom(const Unit &unit, double value)
set from double value
Definition: Location.h:172
static double GetDistanceFast(const double &latitude0, const double &longitude0, const double &latitude1, const double &longitude1)
Definition: Location.cpp:328
double getDistance(const double &latitude, const double &longitude) const
Definition: Location.cpp:333
Location & operator+=(const Location &rhs)
Definition: Location.cpp:251
Replacement for standard template class string.
Definition: Str.h:12
Location & operator-=(const Location &rhs)
Definition: Location.cpp:258
static double GetDistance(const double &latitude0, const double &longitude0, const double &latitude1, const double &longitude1)
Definition: Location.cpp:320
virtual bool copyTo(const Unit &unit, unsigned char &assignTo) const
Copy value to unsigned char.
Definition: Location.h:85
void setLon(const Unit &unit, const double &lat)
Definition: Location.cpp:79
double getBearing(const double &latitude, const double &longitude) const
Definition: Location.cpp:296
virtual double * getPtr1d()
Implement abstract I1D method Note that Location, when accessed via I1D methods, returns RADIANS...
Definition: Location.h:273
void atBearing(const double bearing, const double distance)
Definition: Location.cpp:421
virtual int getM() const
Implement abstract I2D method.
Definition: Location.h:279
Contains the Unit class declaration.
static const double EARTH_RADIUS
Definition: Location.h:268
const double getLon(const Unit &unit) const
Definition: Location.cpp:69
virtual bool copyTo(const Unit &unit, int &assignTo) const
Copy value to unsigned int.
Definition: Location.h:106
static double NorthingsDelta(const double startLat, const float northingsDelta)
Definition: Location.cpp:427
static void AtBearing(const float bearing, const float distance, double &lat, double &lon)
Definition: Location.cpp:348
static void CalcVector(const double &lat0, const double &lon0, const double &lat1, const double &lon1, double &toEast, double &toNorth)
Definition: Location.cpp:309
Wraps a pair of double precision (8-byte) floating point numbers and units for storage in a DataEleme...
Definition: Location.h:38
Code that represents an engineering unit.
Definition: Unit.h:24
static void AtBearingEllipsoid(const float bearing, const float distance, double &lat, double &lon)
Calculates destination point given start point lat/long, bearing & distance, using Vincenty inverse f...
Definition: Location.cpp:373
void setLat(const Unit &unit, const double &lat)
Definition: Location.cpp:74
static const double EARTH_RADIUS_INVERTED
Definition: Location.h:269
Location()
Protected Empty constructor for use by DataEntry class.
Definition: Location.cpp:281
bool setFrom(const Unit &unit, unsigned char value)
set from unsigned char value
Definition: Location.h:166