Digital radar data moment gates and accessors

This commit is contained in:
Dan Paulat 2021-06-20 21:21:12 -05:00
parent d648c1db08
commit ded87eb937
3 changed files with 130 additions and 1 deletions

View file

@ -23,6 +23,22 @@ public:
DigitalRadarData(DigitalRadarData&&) noexcept;
DigitalRadarData& operator=(DigitalRadarData&&) noexcept;
const std::string& radar_identifier() const;
uint32_t collection_time() const;
uint16_t modified_julian_date() const;
uint16_t azimuth_number() const;
float azimuth_angle() const;
uint8_t compression_indicator() const;
uint16_t radial_length() const;
uint8_t azimuth_resolution_spacing() const;
uint8_t radial_status() const;
uint8_t elevation_number() const;
uint8_t cut_sector_number() const;
float elevation_angle() const;
uint8_t radial_spot_blanking_status() const;
uint8_t azimuth_indexing_mode() const;
uint16_t data_block_count() const;
bool Parse(std::istream& is);
static std::unique_ptr<DigitalRadarData> Create(MessageHeader&& header,

View file

@ -105,6 +105,15 @@ public:
});
}
static void SwapVector(std::vector<uint16_t>& v)
{
std::transform(std::execution::par_unseq,
v.begin(),
v.end(),
v.begin(),
[](uint16_t u) { return ntohs(u); });
}
private:
std::unique_ptr<MessageImpl> p;
};