WXP C++ Library Version 6.74.6
Loading...
Searching...
No Matches
RcmData.h
1#ifndef _WINC_RCMDATA
2#define _WINC_RCMDATA
3
4#include <WXP/Const.h>
5#include <WXP/Date.h>
6
7namespace WXP {
8 class RcmData {
9 char id[5];
10 int num;
11 float lat,lon;
12 float elev;
13 Date date;
14
15 int mode;
16 int status;
17 int loc_type;
18
19 char echo[104][104];
20
21 int maxt;
22 float maxt_x, maxt_y;
23
24 struct {
25 char id[3];
26 float x,y;
27 int hgt;
28 int dir,spd;
29 int hail;
30 } storm[40];
31 int num_storm;
32
33 struct {
34 char id[3];
35 float x,y;
36 } tvs[10];
37 int num_tvs;
38
39 struct {
40 char id[3];
41 float x,y;
42 } meso[20];
43 int num_meso;
44
45 struct {
46 int hgt;
47 int dir, spd;
48 int rms;
49 } vad[20];
50 int num_vad;
51
52 public:
53 RcmData();
54 int init();
55 inline const char *getId(){ return id; };
56 int setLoc( float rlat, float rlon );
57 inline float getLat(){ return lat; };
58 inline float getLon(){ return lon; };
59 inline Date getDate(){ return date; };
60 inline int getMode(){ return mode; };
61 inline int getStatus(){ return status; };
62 inline int setLocType( int val ){ loc_type = val; return 1; };
63 inline int getLocType(){ return loc_type; };
64 inline int getMaxTop(){ return maxt; };
65 inline float getMaxTopX(){ return maxt_x; };
66 inline float getMaxTopY(){ return maxt_y; };
67 inline int getNumStorm(){ return num_storm; };
68 inline const char *getStormId(int ind){ return ind < 0 || ind >= num_storm ? "": storm[ind].id; };
69 inline float getStormX(int ind){ return ind < 0 || ind >= num_storm ? Const::MISS: storm[ind].x; };
70 inline float getStormY(int ind){ return ind < 0 || ind >= num_storm ? Const::MISS: storm[ind].y; };
71 inline int getStormHgt(int ind){ return ind < 0 || ind >= num_storm ? Const::MISS: storm[ind].hgt; };
72 inline int getStormDir(int ind){ return ind < 0 || ind >= num_storm ? Const::MISS: storm[ind].dir; };
73 inline int getStormSpd(int ind){ return ind < 0 || ind >= num_storm ? Const::MISS: storm[ind].spd; };
74 inline int getStormHail(int ind){ return ind < 0 || ind >= num_storm ? Const::MISS: storm[ind].hail; };
75 inline int getNumTvs(){ return num_tvs; };
76 inline float getTvsX(int ind){ return ind < 0 || ind >= num_tvs ? Const::MISS: tvs[ind].x; };
77 inline float getTvsY(int ind){ return ind < 0 || ind >= num_tvs ? Const::MISS: tvs[ind].y; };
78 inline int getNumMeso(){ return num_meso; };
79 inline float getMesoX(int ind){ return ind < 0 || ind >= num_meso ? Const::MISS: meso[ind].x; };
80 inline float getMesoY(int ind){ return ind < 0 || ind >= num_meso ? Const::MISS: meso[ind].y; };
81 int print();
82 int printStorm( int ind );
83 int printEchoes();
84
85 enum LocType {
86 SITE,
87 EARTH
88 };
89
90 enum Mode {
91 NONE,
92 PRECIP,
93 CLEAR_AIR
94 };
95
96 enum Status {
97 NA,
98 NE,
99 OM,
100 PR
101 };
102
103 friend class RcmFile;
104 friend class RcmWxpFile;
105 friend class RcmImage;
106 friend class RcmPlot;
107 friend class RcmDecode;
108 friend class RcmHash;
109 };
110}
111#endif
static const int MISS
Definition: Const.h:7
This class stores date and time information.
Definition: Date.h:8
This class manages RCM (Radar Coded Messages) data.
Definition: RcmData.h:8
int print()
Definition: RcmData.cc:99
int init()
Definition: RcmData.cc:27
RcmData()
Definition: RcmData.cc:20
int setLoc(float rlat, float rlon)
Definition: RcmData.cc:90
int printEchoes()
Definition: RcmData.cc:178
int printStorm(int ind)
Definition: RcmData.cc:167
This decodes RCM radar data files.
Definition: RcmDecode.h:13
This class manages RCM (Radar Coded Messages) data files.
Definition: RcmFile.h:12
This class sets up a hash table for MDR radar information.
Definition: RcmHash.h:8
This class converts and merges RCM data into an Image.
Definition: RcmImage.h:10
This class plots RCM data.
Definition: RcmPlot.h:25
This class reads in decoded RCM radar files.
Definition: RcmWxpFile.h:11
All WXP classes fall under the WXP namespace.
Definition: Angle.h:4