mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 18:10:05 +00:00
Starting to parse alphanumeric data from storm tracking information
This commit is contained in:
parent
2cd76d7da4
commit
0415223571
4 changed files with 156 additions and 1 deletions
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
#include <scwx/wsr88d/rpg/graphic_product_message.hpp>
|
||||
|
||||
#include <optional>
|
||||
|
||||
#include <units/angle.h>
|
||||
#include <units/length.h>
|
||||
#include <units/velocity.h>
|
||||
|
||||
namespace scwx
|
||||
{
|
||||
namespace wsr88d
|
||||
|
|
@ -12,6 +18,27 @@ namespace rpg
|
|||
class StormTrackingInformationMessage : public GraphicProductMessage
|
||||
{
|
||||
public:
|
||||
struct StiRecord
|
||||
{
|
||||
struct Position
|
||||
{
|
||||
std::optional<units::angle::degrees<float>> azimuth_ {};
|
||||
std::optional<units::length::nautical_miles<float>> range_ {};
|
||||
};
|
||||
|
||||
Position currentPosition_ {};
|
||||
std::optional<units::angle::degrees<float>> direction_;
|
||||
std::optional<units::velocity::knots<float>> speed_;
|
||||
|
||||
std::array<Position, 4> forecastPosition_ {};
|
||||
|
||||
std::optional<units::length::nautical_miles<float>> forecastError_ {};
|
||||
std::optional<units::length::nautical_miles<float>> meanError_ {};
|
||||
|
||||
std::optional<std::int16_t> maxDbz_ {};
|
||||
std::optional<units::length::feet<float>> maxDbzHeight_ {};
|
||||
};
|
||||
|
||||
explicit StormTrackingInformationMessage();
|
||||
~StormTrackingInformationMessage();
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ public:
|
|||
|
||||
size_t data_size() const override;
|
||||
|
||||
const std::vector<std::vector<std::string>>& page_list() const;
|
||||
|
||||
bool Parse(std::istream& is);
|
||||
bool Parse(std::istream& is, bool skipHeader);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue