mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 03:20:05 +00:00 
			
		
		
		
	Add scaled values for ranges and angles in Digital Radar Data
This commit is contained in:
		
							parent
							
								
									807d98d7ef
								
							
						
					
					
						commit
						5058e3493c
					
				
					 2 changed files with 79 additions and 31 deletions
				
			
		|  | @ -11,6 +11,12 @@ namespace rda | |||
| static const std::string logPrefix_ = "scwx::wsr88d::rda::digital_radar_data"; | ||||
| static const auto        logger_    = util::Logger::Create(logPrefix_); | ||||
| 
 | ||||
| // Table III-A Angle Data Format
 | ||||
| constexpr float kAngleDataScale = 0.0054931640625f; | ||||
| 
 | ||||
| // Table III-B Range Format
 | ||||
| constexpr float kRangeScale = 0.001f; | ||||
| 
 | ||||
| class DigitalRadarData::Impl | ||||
| { | ||||
| public: | ||||
|  | @ -73,11 +79,16 @@ std::uint16_t DigitalRadarData::unambiguous_range() const | |||
|    return p->unambiguousRange_; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::azimuth_angle() const | ||||
| std::uint16_t DigitalRadarData::azimuth_angle_raw() const | ||||
| { | ||||
|    return p->azimuthAngle_; | ||||
| } | ||||
| 
 | ||||
| units::degrees<float> DigitalRadarData::azimuth_angle() const | ||||
| { | ||||
|    return units::degrees<float> {p->azimuthAngle_ * kAngleDataScale}; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::azimuth_number() const | ||||
| { | ||||
|    return p->azimuthNumber_; | ||||
|  | @ -88,36 +99,64 @@ std::uint16_t DigitalRadarData::radial_status() const | |||
|    return p->radialStatus_; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::elevation_angle() const | ||||
| std::uint16_t DigitalRadarData::elevation_angle_raw() const | ||||
| { | ||||
|    return p->elevationAngle_; | ||||
| } | ||||
| 
 | ||||
| units::degrees<float> DigitalRadarData::elevation_angle() const | ||||
| { | ||||
|    return units::degrees<float> {p->elevationAngle_ * kAngleDataScale}; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::elevation_number() const | ||||
| { | ||||
|    return p->elevationNumber_; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::surveillance_range() const | ||||
| std::uint16_t DigitalRadarData::surveillance_range_raw() const | ||||
| { | ||||
|    return p->surveillanceRange_; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::doppler_range() const | ||||
| units::kilometers<float> DigitalRadarData::surveillance_range() const | ||||
| { | ||||
|    return units::kilometers<float> {p->surveillanceRange_ * kRangeScale}; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::doppler_range_raw() const | ||||
| { | ||||
|    return p->dopplerRange_; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::surveillance_range_sample_interval() const | ||||
| units::kilometers<float> DigitalRadarData::doppler_range() const | ||||
| { | ||||
|    return units::kilometers<float> {p->dopplerRange_ * kRangeScale}; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::surveillance_range_sample_interval_raw() const | ||||
| { | ||||
|    return p->surveillanceRangeSampleInterval_; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::doppler_range_sample_interval() const | ||||
| units::kilometers<float> | ||||
| DigitalRadarData::surveillance_range_sample_interval() const | ||||
| { | ||||
|    return units::kilometers<float> {p->surveillanceRangeSampleInterval_ * | ||||
|                                     kRangeScale}; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::doppler_range_sample_interval_raw() const | ||||
| { | ||||
|    return p->dopplerRangeSampleInterval_; | ||||
| } | ||||
| 
 | ||||
| units::kilometers<float> DigitalRadarData::doppler_range_sample_interval() const | ||||
| { | ||||
|    return units::kilometers<float> {p->dopplerRangeSampleInterval_ * | ||||
|                                     kRangeScale}; | ||||
| } | ||||
| 
 | ||||
| std::uint16_t DigitalRadarData::number_of_surveillance_bins() const | ||||
| { | ||||
|    return p->numberOfSurveillanceBins_; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat