radarlib 1.4.6
odimh5v20_arpav10_classes.hpp
Go to the documentation of this file.
1/*
2 * Radar Library
3 *
4 * Copyright (C) 2009-2010 ARPA-SIM <urpsim@smr.arpa.emr.it>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Author: Guido Billi <guidobilli@gmail.com>
21 */
22
31#ifndef __RADAR_ODIMH5V20_ARPAV10_CLASES_HPP__
32#define __RADAR_ODIMH5V20_ARPAV10_CLASES_HPP__
33
34#include <radarlib/defs.h>
36
37namespace ArpaER { namespace OdimH5v20 {
38
39/*===========================================================================*/
40/* ARPA CONVENTIONS */
41/*===========================================================================*/
42
43/* Arpa E.R. convetions attribute (STRING) */
44/* used in combination with OdimH5 "/conventions" attribute */
45extern RADAR_API const char* ATTRIBUTE_WHAT_ARPAER_CONVENTIONS;
46
47/* Arpa E.R. conventions values*/
48/* From now on, if the following attributes change, a new convention constant must be added to this list */
49extern RADAR_API const char* CONVENTIONS_ODIM_H5_V2_0_ARPA_V0_1;
50extern RADAR_API const char* CONVENTIONS_ODIM_H5_V2_0_ARPA_V1_0;
51
52/*===========================================================================*/
53/* ORIGINAL FORMAT IDENTIFICATION */
54/*===========================================================================*/
55
56/* Original volume file name attribute (STRING) */
57/* Store informations about the original file name */
58extern RADAR_API const char* ATTRIBUTE_WHAT_ARPAER_ORIGINALFILE;
59
60/* Original volume format attribute (STRING) */
61/* Identify the original format of the volume */
62extern RADAR_API const char* ATTRIBUTE_WHAT_ARPAER_ORIGINALFORMAT;
63
64/* original volume format values (new values can be appended to this list)*/
65extern RADAR_API const char* ORIGINALFORMAT_VME;
66extern RADAR_API const char* ORIGINALFORMAT_SP20;
67extern RADAR_API const char* ORIGINALFORMAT_MDB2;
68
69/*===========================================================================*/
70/* SOFTWARE ELABORATION INFORMATIONS */
71/*===========================================================================*/
72
73/* Arpa conversion software attribute (STRING) */
74/* This attribute is used to identify the software and version used for the conversion from the original format to OdimH5 */
75/* After few years it could be difficult to remember the software used for the conversion */
76extern RADAR_API const char* ATTRIBUTE_WHAT_ARPAER_ORIGINALFORMATCONVERTER;
77
78/* Arpa E.R. generic elaborations attribute (SEQUENCE OF STRINGS) */
79/* A common attribute for future use that allows users to store informations about the elaborations applied to the volume */
80/* Any elaboration description should be appended to the current value */
81extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_ELABORATIONS;
82
83/*===========================================================================*/
84/* VME FORMAT INFORMATIONS */
85/*===========================================================================*/
86
87/* --- Volume level attributes --- */
88
89/* volume header (XML STRING) */
90extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMEVOLXML;
91
92/* xml VOL/status element value (STRING) */
93extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMEVOLSTATUS;
94
95/* --- dataset level attributes --- */
96
97/* xml SWEEP element (STRING) */
98extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMESWEEPXML;
99
100/* compression used (INT) */
101extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMESWEEPCOMPRESSION;
102
103/* original number of bins in rays (there is a bug so nominal bins can be more than real bins) */
104extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMEREALNUMBINS;
105
106/* original rays data flags (SEQUENCE OF HEX STRINGS) */
107extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMERAYDATAFLAGS;
108
109/* original rays num pulses (SEQUENCE OF INTEGERS AS STRING) */
110extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMERAYNUMPULSES;
111
112/* original rays tx_pow (SEQUENCE OF DOUBLE AS STRING) */
113extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMERAYTXPOWS;
114
115/* original rays elevation angles (SEQUENCE OF DOUBLE AS STRING) */
116extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMERAYELANGLES;
117
118/* original discarted rays (SERIALIZED RAYS ENCODED AS BASE64 STRING) */
119/* See conveters documentation for further details */
120extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMEDISCARDEDRAYS;
121
122/* says if a ray is a fake ray created by the converter (SEQUENCE OF BOOLS AS STRING)*/
123extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMERAYFAKE;
124
125/* non starndard odimh5 quantity, created for VME values */
126extern RADAR_API const char* PRODUCT_QUANTITY_VMESTAT1;
127
128//tern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_VMESURPLUSRAYS; /* sequence, VME original surplus rays */
129
130/*===========================================================================*/
131/* SP20 FORMAT INFORMATIONS */
132/*===========================================================================*/
133
134/* --- volume level attributes --- */
135
136/* volume header (binary header serialized and BASE64 encoded) */
137extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_SP20VOLHEADER;
138
139/* --- dataset level attributes --- */
140
141/* original SP20 ray headers (BASE64 STRING) */
142/* Headers are serialized as a one big buffer */
143extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_SP20RAYHEADERS;
144
145/* SP20 rays validity flag (SEQUENCE OF BOOLS AS STRING) */
146extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_SP20RAYVALIDITY;
147
148/* says if a ray is a fake ray created by the converter (SEQUENCE OF BOOLS AS STRING */
149extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_SP20RAYFAKE;
150
151/* original discarted rays (SERIALIZED RAYS ENCODED AS BASE64 STRING) */
152/* See conveters documentation for further details */
153extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_SP20DISCARDEDRAYS;
154
155/*===========================================================================*/
156/* MDB2 FORMAT INFORMATIONS */
157/*===========================================================================*/
158
159/* --- volume level attributes --- */
160
161/* original MDB2 vol header, base64 encoded */
162extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_MDB2VOLHEADER;
163
164/* --- dataset level attributes --- */
165
166/* original ray azimuth (SEQUENCE OF INT AS STRING)*/
167extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_MDB2RAYAZIMUTH;
168
169/* says if a ray is a fake ray created by the converter (SEQUENCE OF BOOLS) */
170extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_MDB2RAYFAKE;
171
172/* original discarted rays (SERIALIZED RAYS ENCODED AS BASE64 STRING) */
173/* See conveters documentation for further details */
174extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_MDB2DISCARDEDRAYS;
175
176/* --- data level attributes --- */
177
178/* the original num bins for each ray in the quantity matrix (SEQUENCE OF INT AS STRING)*/
179extern RADAR_API const char* ATTRIBUTE_HOW_ARPAER_MDB2RAYBINS;
180
181/*===========================================================================*/
182
183class RADAR_API Specification
184{
185public:
186 static bool isMethod(const std::string& value);
187 static bool isPolarization(const std::string& value);
188};
189
190/*===========================================================================*/
191
192} }
193
194#endif
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
Internal library macros.
Namespace related to ODIMH5 version 2.0.
Definition odimh5v20.hpp:46
OdimH5 factory classes.