27#ifndef __RADAR_ODIMH5V21_SUPPORT_HPP__
28#define __RADAR_ODIMH5V21_SUPPORT_HPP__
85 void parse(
const std::string& val);
164 void parse(
const std::string value);
302 void parse(
const std::string& str);
315 std::string
toString(
int precision)
const;
322 static std::vector<AZAngles>
parseSequence(
const std::string& str);
330 static std::vector<AZAngles>
parseSimpleArrays(
const std::vector<double>& first,
const std::vector<double>& second);
336 static std::string
toString(
const std::vector<AZAngles>& right);
344 static std::string
toString(
const std::vector<AZAngles>& right,
int precision);
398 AZTimes(
const std::string& str);
414 void parse(
const std::string& str);
426 static std::vector<AZTimes>
parseSequence(
const std::string& str);
434 static std::vector<AZTimes>
parseSimpleArrays(
const std::vector<double>& first,
const std::vector<double>& second);
439 static std::string
toString(
const std::vector<AZTimes>& right);
485 void parse(
const std::string& str);
564 inline void resize(
const int rows,
const int cols)
566 resize(rows, cols, fillvalue);
577 inline void resize(
const int rows,
const int cols,
const T fillvalue)
581 cells.resize(rows * cols *
sizeof(T));
589 fill(this->fillvalue);
596 int total = rows * cols;
597 for (
int i=0; i<total; i++)
599 this->fillvalue = value;
608 inline T&
elem(
const int r,
const int b)
610 return cells[r * cols + b];
615 inline const T*
get()
const
632 std::vector<T> cells;
701 inline void resize(
const int rays,
const int bins)
714 inline void resize(
const int rays,
const int bins,
const T fillvalue)
776 void parse(
const std::string& str);
789 std::string
toString(
int precision)
const;
803 static std::vector<Angles>
parseSequence(
const std::string& str);
809 static std::string
toString(
const std::vector<Angles>& right);
816 static std::string
toString(
const std::vector<Angles>& right,
int precision);
866 void parse(
const std::string& str);
879 std::string
toString(
int precision)
const;
886 static std::vector<Arotation>
parseSequence(
const std::string& str);
899 static std::string
toString(
const std::vector<Arotation>& right);
906 static std::string
toString(
const std::vector<Arotation>& right,
int precision);
956 void parse(
const std::string& str);
969 std::string
toString(
int precision)
const;
976 static std::vector<TXpower>
parseSequence(
const std::string& str);
989 static std::string
toString(
const std::vector<TXpower>& right);
996 static std::string
toString(
const std::vector<TXpower>& right,
int precision);
1026 Nodes(
const std::string & radar);
1031 Nodes(
const char * radar);
1033 std::string get()
const;
1040 void set(
const std::string & radar);
1047 void set(
const char * radar);
1054 static std::vector<Nodes>
parseSequence(
const std::string& str);
1060 static std::string
toString(
const std::vector<Nodes>& radars);
AZAngles()
Create an object with start and stop set to 0.
Definition odimh5v21_support.cpp:212
double start
Start azimuth angle.
Definition odimh5v21_support.hpp:256
void set(double start, double stop)
Set fields.
Definition odimh5v21_support.cpp:231
void parse(const std::string &str)
Set object fields decoding the indicated string.
Definition odimh5v21_support.cpp:237
static std::vector< AZAngles > parseSequence(const std::string &str)
Create a collection of azimuth angles splitting and decoding a string.
Definition odimh5v21_support.cpp:272
double stop
Stop azimuth angle.
Definition odimh5v21_support.hpp:262
std::string toString() const
Convert angles to a string formated acording to OdimH5 specifications.
Definition odimh5v21_support.cpp:257
double averagedAngle(int direction=0)
Compute the averarged angle between start and stop tacking into account direction of antenna movement...
Definition odimh5v21_support.cpp:303
static std::vector< AZAngles > parseSimpleArrays(const std::vector< double > &first, const std::vector< double > &second)
Create a collection of azimuth angles importing two vector of double.
Definition odimh5v21_support.cpp:246
double start
Start azimuth time (seconds.milliseconds)
Definition odimh5v21_support.hpp:372
static std::vector< AZTimes > parseSequence(const std::string &str)
Create a collection of azimuth times splitting and decoding a string.
Definition odimh5v21_support.cpp:364
void parse(const std::string &str)
Set object fields decoding the indicated string The string must be formated acording to OdimH5 specif...
Definition odimh5v21_support.cpp:350
static std::vector< AZTimes > parseSimpleArrays(const std::vector< double > &first, const std::vector< double > &second)
Create a collection of azimuth times importing two vector of double.
Definition odimh5v21_support.cpp:374
std::string toString() const
Convert times to a string formated acording to OdimH5 specifications.
Definition odimh5v21_support.cpp:359
void set(double start, double stop)
Set fields.
Definition odimh5v21_support.cpp:344
double stop
Start azimuth time (seconds.milliseconds)
Definition odimh5v21_support.hpp:378
AZTimes()
Create an object with start and stop set to 0.
Definition odimh5v21_support.cpp:325
std::string toString() const
Convert angle to a string formated according to OdimH5 specifications.
Definition odimh5v21_support.cpp:472
Angles()
Create an object with values set to 0.
Definition odimh5v21_support.cpp:446
double value
Elevation angle Elevation angles are ordered from lower to upper values.
Definition odimh5v21_support.hpp:746
static std::vector< Angles > parseSequence(const std::string &str)
Create a collection of angles decoding a string.
Definition odimh5v21_support.cpp:494
void parse(const std::string &str)
Set object fields decoding the indicated string.
Definition odimh5v21_support.cpp:467
void set(double value)
Set field.
Definition odimh5v21_support.cpp:462
static std::vector< Angles > parseSimpleArray(const std::vector< double > &value)
Create a collection of angles importing a vector of double.
Definition odimh5v21_support.cpp:487
Arotation()
Create an object with values set to 0.
Definition odimh5v21_support.cpp:530
void set(double value)
Set field.
Definition odimh5v21_support.cpp:546
static std::vector< Arotation > parseSimpleArray(const std::vector< double > &value)
Create a collection of antenna rotation speeds importing a vector of double.
Definition odimh5v21_support.cpp:581
double value
Antenna rotation speed.
Definition odimh5v21_support.hpp:836
static std::vector< Arotation > parseSequence(const std::string &str)
Create a collection of antenna rotation speeds decoding a string.
Definition odimh5v21_support.cpp:571
std::string toString() const
Convert antenna rotation speed to a string formated according to OdimH5 specifications.
Definition odimh5v21_support.cpp:556
void parse(const std::string &str)
Set object fields decoding the indicated string.
Definition odimh5v21_support.cpp:551
Matrix of data values.
Definition odimh5v21_support.hpp:507
void fill(T value)
Set all matrix values to the given value.
Definition odimh5v21_support.hpp:594
DataMatrix(int rows, int cols)
Create an empty rows x cols matrix.
Definition odimh5v21_support.hpp:530
void erase()
Set all matrix values to the current fill value.
Definition odimh5v21_support.hpp:587
void resize(const int rows, const int cols, const T fillvalue)
Resize the matrix.
Definition odimh5v21_support.hpp:577
int getColCount() const
Return the number of cols.
Definition odimh5v21_support.hpp:626
T & elem(const int r, const int b)
Reference to the element (r,b)
Definition odimh5v21_support.hpp:608
const T * get() const
Return the pointer to the underneath data buffer.
Definition odimh5v21_support.hpp:615
int getRowCount() const
Return the number of rows.
Definition odimh5v21_support.hpp:622
DataMatrix(int rows, int cols, T value)
Create an empty rows x cols matrix, setting elements to 0.
Definition odimh5v21_support.hpp:545
DataMatrix()
Create an empty 0x0 matrix.
Definition odimh5v21_support.hpp:515
void resize(const int rows, const int cols)
Resize the matrix.
Definition odimh5v21_support.hpp:564
void parse(const std::string &val)
Set object fields parsing an input string.
Definition odimh5v21_support.cpp:59
ModelVersion(int maj, int min)
Create and inizalize object fields with the indicated values.
Definition odimh5v21_support.cpp:46
std::string toString() const
Return a model version string formatted acording to OdimH5 specifications.
Definition odimh5v21_support.cpp:65
static std::vector< Nodes > parseSequence(const std::string &str)
Create a collection of radar nodes decoding a string.
Definition odimh5v21_support.cpp:738
static std::string toString(const std::vector< Nodes > &radars)
Definition odimh5v21_support.cpp:748
Nodes()
Create an object with values set to "".
Definition odimh5v21_support.cpp:698
void set(const std::string &radar)
Set field.
Definition odimh5v21_support.cpp:718
OdimH5 rays matrix.
Definition odimh5v21_support.hpp:651
int getRayCount() const
Get the number of rays that can be store in the matrix (matrix rows num)
Definition odimh5v21_support.hpp:721
void resize(const int rays, const int bins)
Resize the matrix.
Definition odimh5v21_support.hpp:701
RayMatrix(int rays, int bins, T fillvalue)
Definition odimh5v21_support.hpp:686
RayMatrix()
Definition odimh5v21_support.hpp:659
int getBinCount() const
Get the number of bins that can be store in a single ray (matrix cols num)
Definition odimh5v21_support.hpp:725
void resize(const int rays, const int bins, const T fillvalue)
Resize the matrix.
Definition odimh5v21_support.hpp:714
RayMatrix(int rays, int bins)
Definition odimh5v21_support.hpp:672
int Country
Country according to BUFR tables 14 0 1 101.
Definition odimh5v21_support.hpp:136
std::string toString() const
Convert fields into a string formated acording to OdimH5 specifications.
Definition odimh5v21_support.cpp:167
SourceInfo & setPlace(const std::string &value)
Set Place value and return a reference to this object.
Definition odimh5v21_support.hpp:212
SourceInfo & setOperaRadarSite(const std::string &value)
Set OperaRadarSite value and return a reference to this object.
Definition odimh5v21_support.hpp:194
int OriginatingCenter
Originating centre.
Definition odimh5v21_support.hpp:128
SourceInfo()
Create an empty source information object.
Definition odimh5v21_support.cpp:77
std::string OperaRadarSite
Radar site as indexed in the OPERA database.
Definition odimh5v21_support.hpp:124
void parse(const std::string value)
Set object fields decoding the indicated string.
Definition odimh5v21_support.cpp:101
std::string Comment
Free comment.
Definition odimh5v21_support.hpp:140
SourceInfo & setWMO(const std::string &value)
Set WMO value and return a reference to this object.
Definition odimh5v21_support.hpp:176
SourceInfo & setComment(const std::string &value)
Set Comment value and return a reference to this object.
Definition odimh5v21_support.hpp:230
SourceInfo & setOriginatingCenter(int value)
Set OriginatingCenter value and return a reference to this object.
Definition odimh5v21_support.hpp:203
std::string WMO
Combined WMO block and station number in the form A1bwnnnnn, or 0 if none assigned.
Definition odimh5v21_support.hpp:116
std::string Place
Place according to Table 9 of OdimH5 standard.
Definition odimh5v21_support.hpp:132
SourceInfo & setOperaRadarNode(const std::string &value)
Set OperaRadarNode value and return a reference to this object.
Definition odimh5v21_support.hpp:185
std::string OperaRadarNode
Radar node according to OPERA name table (see right column of Table 9 in OPERA v2....
Definition odimh5v21_support.hpp:120
SourceInfo & setCountry(int value)
Set Country value and return a reference to this object.
Definition odimh5v21_support.hpp:221
double value
TX Power.
Definition odimh5v21_support.hpp:926
void set(double value)
Set field.
Definition odimh5v21_support.cpp:630
std::string toString() const
Convert TX Power to a string formated according to OdimH5 specifications.
Definition odimh5v21_support.cpp:640
static std::vector< TXpower > parseSimpleArray(const std::vector< double > &value)
Create a collection of TX Powers importing a vector of double.
Definition odimh5v21_support.cpp:665
TXpower()
Create an object with values set to 0.
Definition odimh5v21_support.cpp:614
void parse(const std::string &str)
Set object fields decoding the indicated string.
Definition odimh5v21_support.cpp:635
static std::vector< TXpower > parseSequence(const std::string &str)
Create a collection of TX Powers decoding a string.
Definition odimh5v21_support.cpp:655
VILHeights()
Create and intialize a VIL height pair to 0.
Definition odimh5v21_support.cpp:400
std::string toString() const
Convert the pair to a string according to OdimH5 specifications.
Definition odimh5v21_support.cpp:434
void set(double bottom, double top)
Set pair values.
Definition odimh5v21_support.cpp:419
double bottom
Lower value in meters.
Definition odimh5v21_support.hpp:458
void parse(const std::string &str)
Set pair values parsing the given string.
Definition odimh5v21_support.cpp:425
double top
Upper value in meters.
Definition odimh5v21_support.hpp:462
Namespace related to ODIMH5 version 2.1.
Definition odimh5v21.hpp:46