Dynamic range circle

This commit is contained in:
Dan Paulat 2021-11-14 01:28:13 -06:00
parent 77ba92ce7f
commit 87581892a7
9 changed files with 105 additions and 34 deletions

View file

@ -46,6 +46,7 @@ public:
radarProductManager_ {radarProductManager},
latitude_ {},
longitude_ {},
range_ {},
sweepTime_ {},
colorTable_ {},
colorTableLut_ {},
@ -80,6 +81,7 @@ public:
float latitude_;
float longitude_;
float range_;
std::chrono::system_clock::time_point sweepTime_;
@ -120,6 +122,11 @@ Level2ProductView::color_table(uint16_t& minValue, uint16_t& maxValue) const
}
}
float Level2ProductView::range() const
{
return p->range_;
}
std::chrono::system_clock::time_point Level2ProductView::sweep_time() const
{
return p->sweepTime_;
@ -295,10 +302,16 @@ void Level2ProductView::ComputeSweep()
return;
}
const uint32_t gates = momentData0->number_of_data_moment_gates();
auto radialData0 = radarData0->radial_data_block();
auto volumeData0 = radarData0->volume_data_block();
p->latitude_ = volumeData0->latitude();
p->longitude_ = volumeData0->longitude();
p->sweepTime_ = util::TimePoint(radarData0->modified_julian_date(),
p->range_ =
momentData0->data_moment_range() +
momentData0->data_moment_range_sample_interval() * (gates - 0.5f);
p->sweepTime_ = util::TimePoint(radarData0->modified_julian_date(),
radarData0->collection_time());
// Calculate vertices
@ -306,7 +319,6 @@ void Level2ProductView::ComputeSweep()
// Setup vertex vector
std::vector<float>& vertices = p->vertices_;
const uint32_t gates = momentData0->number_of_data_moment_gates();
size_t vIndex = 0;
vertices.clear();
vertices.resize(radials * gates * VERTICES_PER_BIN * VALUES_PER_VERTEX);

View file

@ -29,7 +29,8 @@ public:
~Level2ProductView();
const std::vector<boost::gil::rgba8_pixel_t>&
color_table(uint16_t& minValue, uint16_t& maxValue) const override;
color_table(uint16_t& minValue, uint16_t& maxValue) const override;
float range() const override;
std::chrono::system_clock::time_point sweep_time() const override;
const std::vector<float>& vertices() const override;

View file

@ -40,6 +40,11 @@ RadarProductView::color_table(uint16_t& minValue, uint16_t& maxValue) const
return DEFAULT_COLOR_TABLE;
}
float RadarProductView::range() const
{
return 0.0f;
}
std::chrono::system_clock::time_point RadarProductView::sweep_time() const
{
return {};

View file

@ -26,7 +26,8 @@ public:
~RadarProductView();
virtual const std::vector<boost::gil::rgba8_pixel_t>&
color_table(uint16_t& minValue, uint16_t& maxValue) const;
color_table(uint16_t& minValue, uint16_t& maxValue) const;
virtual float range() const;
virtual std::chrono::system_clock::time_point sweep_time() const;
virtual const std::vector<float>& vertices() const = 0;