diff --git a/scwx-qt/source/scwx/qt/view/level3_product_view.cpp b/scwx-qt/source/scwx/qt/view/level3_product_view.cpp index cf6188b6..34ed0d8e 100644 --- a/scwx-qt/source/scwx/qt/view/level3_product_view.cpp +++ b/scwx-qt/source/scwx/qt/view/level3_product_view.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -8,6 +9,7 @@ #include #include +#include #if !defined(_MSC_VER) # include @@ -189,6 +191,22 @@ Level3ProductView::GetDescriptionFields() const description.emplace_back( "Product Time", scwx::util::TimeString(productTime, currentZone, false)); + + description.emplace_back( + "Sequence Number", + fmt::format("{}", descriptionBlock->sequence_number())); + description.emplace_back( + "Volume Scan", + fmt::format("{}", descriptionBlock->volume_scan_number())); + + if (descriptionBlock->elevation_number() > 0) + { + description.emplace_back( + "Elevation", + fmt::format("{}{}", + descriptionBlock->elevation().value(), + common::Unicode::kDegree)); + } } } diff --git a/wxdata/include/scwx/wsr88d/rpg/product_description_block.hpp b/wxdata/include/scwx/wsr88d/rpg/product_description_block.hpp index b112e7ee..e3675670 100644 --- a/wxdata/include/scwx/wsr88d/rpg/product_description_block.hpp +++ b/wxdata/include/scwx/wsr88d/rpg/product_description_block.hpp @@ -5,6 +5,8 @@ #include #include +#include + namespace scwx { namespace wsr88d @@ -20,7 +22,7 @@ public: explicit ProductDescriptionBlock(); ~ProductDescriptionBlock(); - ProductDescriptionBlock(const ProductDescriptionBlock&) = delete; + ProductDescriptionBlock(const ProductDescriptionBlock&) = delete; ProductDescriptionBlock& operator=(const ProductDescriptionBlock&) = delete; ProductDescriptionBlock(ProductDescriptionBlock&&) noexcept; @@ -62,6 +64,8 @@ public: float log_offset() const; float log_scale() const; + units::angle::degrees elevation() const; + bool IsCompressionEnabled() const; size_t data_size() const override; diff --git a/wxdata/source/scwx/wsr88d/rpg/product_description_block.cpp b/wxdata/source/scwx/wsr88d/rpg/product_description_block.cpp index 2dc0e868..73014bd2 100644 --- a/wxdata/source/scwx/wsr88d/rpg/product_description_block.cpp +++ b/wxdata/source/scwx/wsr88d/rpg/product_description_block.cpp @@ -139,7 +139,7 @@ ProductDescriptionBlock::ProductDescriptionBlock() : ProductDescriptionBlock::~ProductDescriptionBlock() = default; ProductDescriptionBlock::ProductDescriptionBlock( - ProductDescriptionBlock&&) noexcept = default; + ProductDescriptionBlock&&) noexcept = default; ProductDescriptionBlock& ProductDescriptionBlock::operator=( ProductDescriptionBlock&&) noexcept = default; @@ -590,6 +590,18 @@ float ProductDescriptionBlock::log_scale() const return logScale; } +units::angle::degrees ProductDescriptionBlock::elevation() const +{ + double elevation = 0.0; + + if (p->elevationNumber_ > 0) + { + elevation = p->parameters_[2] * 0.1; + } + + return units::angle::degrees {elevation}; +} + bool ProductDescriptionBlock::IsCompressionEnabled() const { bool isCompressed = false;