#pragma once #include namespace scwx { namespace common { /** * @brief Coordinate type to hold latitude and longitude of a location. */ struct Coordinate { double latitude_; ///< Latitude in degrees double longitude_; ///< Longitude in degrees Coordinate() : Coordinate(0.0, 0.0) {} Coordinate(double latitude, double longitude) : latitude_ {latitude}, longitude_ {longitude} { } bool operator==(const Coordinate& o) const { return latitude_ == o.latitude_ && longitude_ == o.longitude_; } }; enum class DegreeStringType { Decimal, DegreesMinutesSeconds }; std::string GetLatitudeString(double latitude, DegreeStringType type = DegreeStringType::Decimal); std::string GetLongitudeString(double longitude, DegreeStringType type = DegreeStringType::Decimal); } // namespace common } // namespace scwx