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);
187 OperaRadarNode = value;
196 OperaRadarSite = value;
205 OriginatingCenter = value;
276 AZAngles(
double start,
double stop);
293 void set(
double start,
double stop);
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);
350 double averagedAngle(
int direction = 0);
391 AZTimes(
double start,
double stop);
398 AZTimes(
const std::string& str);
406 void set(
double start,
double stop);
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);
481 void set(
double bottom,
double top);
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)
760 Angles(
const std::string& value);
767 void set(
double value);
776 void parse(
const std::string& str);
789 std::string
toString(
int precision)
const;
796 static std::vector<Angles> parseSimpleArray(
const std::vector <double> & value);
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);
857 void set(
double value);
866 void parse(
const std::string& str);
879 std::string
toString(
int precision)
const;
886 static std::vector<Arotation> parseSequence(
const std::string& str);
893 static std::vector<Arotation> parseSimpleArray(
const std::vector <double> & value);
899 static std::string
toString(
const std::vector<Arotation>& right);
906 static std::string
toString(
const std::vector<Arotation>& right,
int precision);
940 TXpower(
const std::string& value);
947 void set(
double value);
956 void parse(
const std::string& str);
969 std::string
toString(
int precision)
const;
976 static std::vector<TXpower> parseSequence(
const std::string& str);
983 static std::vector<TXpower> parseSimpleArray(
const std::vector <double> & value);
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);
Azimuth angles pair.
Definition: odimh5v21_support.hpp:249
double start
Start azimuth angle.
Definition: odimh5v21_support.hpp:256
double stop
Stop azimuth angle.
Definition: odimh5v21_support.hpp:262
Azimuth angles pair.
Definition: odimh5v21_support.hpp:365
double start
Start azimuth time (seconds.milliseconds)
Definition: odimh5v21_support.hpp:372
double stop
Start azimuth time (seconds.milliseconds)
Definition: odimh5v21_support.hpp:378
Elevation angle.
Definition: odimh5v21_support.hpp:740
double value
Elevation angle Elevation angles are ordered from lower to upper values.
Definition: odimh5v21_support.hpp:746
Arotation - Antenna Rotation Speed.
Definition: odimh5v21_support.hpp:831
double value
Antenna rotation speed.
Definition: odimh5v21_support.hpp:836
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
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
const T * get() const
Return the pointer to the underneath data buffer.
Definition: odimh5v21_support.hpp:615
OdimH5 model version informations.
Definition: odimh5v21_support.hpp:54
Nodes - Radar nodes which have crontributed data to composit.
Definition: odimh5v21_support.hpp:1011
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
OdimH5 object source informations.
Definition: odimh5v21_support.hpp:111
int Country
Country according to BUFR tables 14 0 1 101.
Definition: odimh5v21_support.hpp:136
int OriginatingCenter
Originating centre.
Definition: odimh5v21_support.hpp:128
std::string OperaRadarSite
Radar site as indexed in the OPERA database.
Definition: odimh5v21_support.hpp:124
std::string Comment
Free comment.
Definition: odimh5v21_support.hpp:140
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
SourceInfo & setWMO(const std::string &value)
Set WMO value and return a reference to this object.
Definition: odimh5v21_support.hpp:176
SourceInfo & setPlace(const std::string &value)
Set Place value and return a reference to this object.
Definition: odimh5v21_support.hpp:212
SourceInfo & setComment(const std::string &value)
Set Comment value and return a reference to this object.
Definition: odimh5v21_support.hpp:230
SourceInfo & setOperaRadarSite(const std::string &value)
Set OperaRadarSite value and return a reference to this object.
Definition: odimh5v21_support.hpp:194
SourceInfo & setOriginatingCenter(int value)
Set OriginatingCenter value and return a reference to this object.
Definition: odimh5v21_support.hpp:203
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
TXpower - TX Power.
Definition: odimh5v21_support.hpp:921
double value
TX Power.
Definition: odimh5v21_support.hpp:926
Bottom and top heights (m) of the integration layer.
Definition: odimh5v21_support.hpp:453
double bottom
Lower value in meters.
Definition: odimh5v21_support.hpp:458
double top
Upper value in meters.
Definition: odimh5v21_support.hpp:462
Namespace related to ODIMH5 version 2.1.
Definition: odimh5v21.hpp:46
std::string toString(const T &value)
Convert a value to its string rapresentation.
Definition: string.hpp:139
static T parse(const std::string &str, const std::string &typestr)
Parse a std::string to a given type value.
Definition: string.hpp:308