From 22ed4c36fc1000988c6ed7a501896b898f37c71c Mon Sep 17 00:00:00 2001 From: AdenKoperczak Date: Sat, 3 May 2025 10:13:54 -0400 Subject: [PATCH] Add radar altitude data form config json file into code --- scwx-qt/source/scwx/qt/config/radar_site.cpp | 8 +++++ scwx-qt/source/scwx/qt/config/radar_site.hpp | 34 +++++++++----------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/scwx-qt/source/scwx/qt/config/radar_site.cpp b/scwx-qt/source/scwx/qt/config/radar_site.cpp index 5e49847a..5c1dba2e 100644 --- a/scwx-qt/source/scwx/qt/config/radar_site.cpp +++ b/scwx-qt/source/scwx/qt/config/radar_site.cpp @@ -51,6 +51,7 @@ public: std::string state_ {}; std::string place_ {}; std::string tzName_ {}; + double altitude_ {0.0}; const scwx::util::time_zone* timeZone_ {nullptr}; }; @@ -142,6 +143,11 @@ const scwx::util::time_zone* RadarSite::time_zone() const return p->timeZone_; } +units::length::feet RadarSite::altitude() const +{ + return units::length::feet(p->altitude_); +} + std::shared_ptr RadarSite::Get(const std::string& id) { std::shared_lock lock(siteMutex_); @@ -268,6 +274,8 @@ size_t RadarSite::ReadConfig(const std::string& path) site->p->state_ = boost::json::value_to(o.at("state")); site->p->place_ = boost::json::value_to(o.at("place")); site->p->tzName_ = boost::json::value_to(o.at("tz")); + site->p->altitude_ = + boost::json::value_to(o.at("elevation")); try { diff --git a/scwx-qt/source/scwx/qt/config/radar_site.hpp b/scwx-qt/source/scwx/qt/config/radar_site.hpp index 16f6e710..cf622d7a 100644 --- a/scwx-qt/source/scwx/qt/config/radar_site.hpp +++ b/scwx-qt/source/scwx/qt/config/radar_site.hpp @@ -6,12 +6,9 @@ #include #include #include +#include -namespace scwx -{ -namespace qt -{ -namespace config +namespace scwx::qt::config { class RadarSiteImpl; @@ -28,18 +25,19 @@ public: RadarSite(RadarSite&&) noexcept; RadarSite& operator=(RadarSite&&) noexcept; - std::string type() const; - std::string type_name() const; - std::string id() const; - double latitude() const; - double longitude() const; - std::string country() const; - std::string state() const; - std::string place() const; - std::string location_name() const; - std::string tz_name() const; + [[nodiscard]] std::string type() const; + [[nodiscard]] std::string type_name() const; + [[nodiscard]] std::string id() const; + [[nodiscard]] double latitude() const; + [[nodiscard]] double longitude() const; + [[nodiscard]] std::string country() const; + [[nodiscard]] std::string state() const; + [[nodiscard]] std::string place() const; + [[nodiscard]] std::string location_name() const; + [[nodiscard]] std::string tz_name() const; + [[nodiscard]] units::length::feet altitude() const; - const scwx::util::time_zone* time_zone() const; + [[nodiscard]] const scwx::util::time_zone* time_zone() const; static std::shared_ptr Get(const std::string& id); static std::vector> GetAll(); @@ -67,6 +65,4 @@ private: std::string GetRadarIdFromSiteId(const std::string& siteId); -} // namespace config -} // namespace qt -} // namespace scwx +} // namespace scwx::qt::config