mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 08:00:06 +00:00
Handle negative data moment ranges for level 2 data
This commit is contained in:
parent
fb7f25e0bd
commit
a0f43b5f3f
6 changed files with 81 additions and 75 deletions
|
|
@ -31,9 +31,9 @@ public:
|
|||
std::uint16_t elevation_angle_raw() const;
|
||||
units::degrees<float> elevation_angle() const;
|
||||
std::uint16_t elevation_number() const;
|
||||
std::uint16_t surveillance_range_raw() const;
|
||||
std::int16_t surveillance_range_raw() const;
|
||||
units::kilometers<float> surveillance_range() const;
|
||||
std::uint16_t doppler_range_raw() const;
|
||||
std::int16_t doppler_range_raw() const;
|
||||
units::kilometers<float> doppler_range() const;
|
||||
std::uint16_t surveillance_range_sample_interval_raw() const;
|
||||
units::kilometers<float> surveillance_range_sample_interval() const;
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ public:
|
|||
|
||||
std::uint16_t number_of_data_moment_gates() const;
|
||||
units::kilometers<float> data_moment_range() const;
|
||||
std::uint16_t data_moment_range_raw() const;
|
||||
std::int16_t data_moment_range_raw() const;
|
||||
units::kilometers<float> data_moment_range_sample_interval() const;
|
||||
std::uint16_t data_moment_range_sample_interval_raw() const;
|
||||
float snr_threshold() const;
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public:
|
|||
|
||||
virtual std::uint16_t number_of_data_moment_gates() const = 0;
|
||||
virtual units::kilometers<float> data_moment_range() const = 0;
|
||||
virtual std::uint16_t data_moment_range_raw() const = 0;
|
||||
virtual std::int16_t data_moment_range_raw() const = 0;
|
||||
virtual units::kilometers<float>
|
||||
data_moment_range_sample_interval() const = 0;
|
||||
virtual std::uint16_t data_moment_range_sample_interval_raw() const = 0;
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ public:
|
|||
std::uint16_t radialStatus_ {};
|
||||
std::uint16_t elevationAngle_ {};
|
||||
std::uint16_t elevationNumber_ {};
|
||||
std::uint16_t surveillanceRange_ {};
|
||||
std::uint16_t dopplerRange_ {};
|
||||
std::int16_t surveillanceRange_ {};
|
||||
std::int16_t dopplerRange_ {};
|
||||
std::uint16_t surveillanceRangeSampleInterval_ {};
|
||||
std::uint16_t dopplerRangeSampleInterval_ {};
|
||||
std::uint16_t numberOfSurveillanceBins_ {};
|
||||
|
|
@ -71,7 +71,7 @@ public:
|
|||
|
||||
std::uint16_t number_of_data_moment_gates() const;
|
||||
units::kilometers<float> data_moment_range() const;
|
||||
std::uint16_t data_moment_range_raw() const;
|
||||
std::int16_t data_moment_range_raw() const;
|
||||
units::kilometers<float> data_moment_range_sample_interval() const;
|
||||
std::uint16_t data_moment_range_sample_interval_raw() const;
|
||||
std::int16_t snr_threshold_raw() const;
|
||||
|
|
@ -94,7 +94,7 @@ public:
|
|||
~Impl() = default;
|
||||
|
||||
std::uint16_t numberOfDataMomentGates_ {};
|
||||
std::uint16_t dataMomentRange_ {};
|
||||
std::int16_t dataMomentRange_ {};
|
||||
std::uint16_t dataMomentRangeSampleInterval_ {};
|
||||
float scale_ {};
|
||||
float offset_ {};
|
||||
|
|
@ -162,7 +162,7 @@ std::uint16_t DigitalRadarData::elevation_number() const
|
|||
return p->elevationNumber_;
|
||||
}
|
||||
|
||||
std::uint16_t DigitalRadarData::surveillance_range_raw() const
|
||||
std::int16_t DigitalRadarData::surveillance_range_raw() const
|
||||
{
|
||||
return p->surveillanceRange_;
|
||||
}
|
||||
|
|
@ -172,7 +172,7 @@ units::kilometers<float> DigitalRadarData::surveillance_range() const
|
|||
return units::kilometers<float> {p->surveillanceRange_ * kRangeScale};
|
||||
}
|
||||
|
||||
std::uint16_t DigitalRadarData::doppler_range_raw() const
|
||||
std::int16_t DigitalRadarData::doppler_range_raw() const
|
||||
{
|
||||
return p->dopplerRange_;
|
||||
}
|
||||
|
|
@ -363,7 +363,7 @@ DigitalRadarData::Impl::MomentDataBlock::data_moment_range() const
|
|||
return units::kilometers<float> {p->dataMomentRange_ * kRangeScale};
|
||||
}
|
||||
|
||||
std::uint16_t
|
||||
std::int16_t
|
||||
DigitalRadarData::Impl::MomentDataBlock::data_moment_range_raw() const
|
||||
{
|
||||
return p->dataMomentRange_;
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public:
|
|||
explicit Impl() {}
|
||||
|
||||
std::uint16_t numberOfDataMomentGates_ {0};
|
||||
std::uint16_t dataMomentRange_ {0};
|
||||
std::int16_t dataMomentRange_ {0};
|
||||
std::uint16_t dataMomentRangeSampleInterval_ {0};
|
||||
std::uint16_t tover_ {0};
|
||||
std::int16_t snrThreshold_ {0};
|
||||
|
|
@ -92,7 +92,7 @@ DigitalRadarDataGeneric::MomentDataBlock::data_moment_range() const
|
|||
return units::kilometers<float> {p->dataMomentRange_ * 0.001f};
|
||||
}
|
||||
|
||||
std::uint16_t
|
||||
std::int16_t
|
||||
DigitalRadarDataGeneric::MomentDataBlock::data_moment_range_raw() const
|
||||
{
|
||||
return p->dataMomentRange_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue