Store and retrieve level 3 data

This commit is contained in:
Dan Paulat 2022-04-06 22:38:45 -05:00
parent 15f7caa6b3
commit 039b2b3d8e
2 changed files with 22 additions and 1 deletions

View file

@ -398,7 +398,7 @@ RadarProductManagerImpl::StoreRadarProductRecord(
}
else if (record->radar_product_group() == common::RadarProductGroup::Level3)
{
auto productMap = level3ProductRecords_[record->radar_product()];
auto& productMap = level3ProductRecords_[record->radar_product()];
auto it = productMap.find(record->time());
if (it != productMap.cend())
@ -442,6 +442,23 @@ RadarProductManager::GetLevel2Data(wsr88d::rda::DataBlockType dataBlockType,
return std::tie(radarData, elevationCut, elevationCuts);
}
std::shared_ptr<wsr88d::rpg::Level3Message>
RadarProductManager::GetLevel3Data(const std::string& product,
std::chrono::system_clock::time_point time)
{
std::shared_ptr<wsr88d::rpg::Level3Message> message = nullptr;
std::shared_ptr<types::RadarProductRecord> record =
p->GetLevel3ProductRecord(product, time);
if (record != nullptr)
{
message = record->level3_file()->message();
}
return message;
}
std::shared_ptr<RadarProductManager>
RadarProductManager::Instance(const std::string& radarSite)
{

View file

@ -41,6 +41,10 @@ public:
float elevation,
std::chrono::system_clock::time_point time = {});
std::shared_ptr<wsr88d::rpg::Level3Message>
GetLevel3Data(const std::string& product,
std::chrono::system_clock::time_point time = {});
static std::shared_ptr<RadarProductManager>
Instance(const std::string& radarSite);