Elaboradar  0.1
func_SP20read.h
Vai alla documentazione di questo file.
1 
5 /*----------------------------------------------------------------------------*/
6 /* INCLUDE file */
7 /*----------------------------------------------------------------------------*/
8 #include <stdio.h>
9 #include <unistd.h>
11 #include <radarelab/sp20/range1.h>
12 #include <radarelab/sp20/radar.h>
15 #include <math.h>
16 
17 #define NUM_AZ_X_PPI 400 // numero di raggio per ogni PPI
18 
19 struct VOL_POL {
20  T_MDB_ap_beam_header b_header;
21  unsigned char ray[MAX_DIM];
22  char flag;
23  short alfa_true, teta_true;
24 };
25 
26 
27 /*----------------------------------------------------------------------------*/
28 /* FUNCTION PROTOTYPE per la lettura dell'header e del beam nel nuovo */
29 /* formato SP20 e la conversione nel vecchio MDB */
30 /* Utilizzato dalle funzioni ReadHeaderSP20toMDB e ReadBeamSP20toMDB */
31 /*----------------------------------------------------------------------------*/
32 
33 int read_dbp_SP20(char *nome_file, struct VOL_POL vol_pol_locale[][NUM_AZ_X_PPI], T_MDB_data_header *old_data_header, int tipo_dati, int nbeam_elev[]);
34 int SP20ReadHeader();
35 int SP20ReadBeam();
36 int read_ray_SP20(T_MDB_ap_beam_header *old_beam_hd, unsigned char *dati, FILE* fp, int tipo_dati);
37 int elevation_index_MDB(short el);
38 int azimut_index_MDB(short az);
39 void conv_ray(float *f_ray, int m, BEAM_HD_SP20_INFO *beam_info, BEAM_DATA *data);
40 void convert_format_beam();
41 void clear_dbp(struct VOL_POL vol_pol_locale [][NUM_AZ_X_PPI], int nbeam_elev[]);
42 void fill_beam(struct VOL_POL *raggio, int az_num, int el_num, T_MDB_ap_beam_header old_beam_header, unsigned char* dati, int nbeam_elev[]);
43 int DefIndiceDati();
44 int ReadBeamSP20toMDB();
45 int ReadHeaderSP20toMDB(T_MDB_data_header *old_header, FILE *fp);
46 time_t get_date_from_name(T_MDB_data_header *old_data_header, struct tm *tm_date_ext, const char* nome_file);
47 BEAM_HD_SP20_INFO * decode_header_sp20(unsigned char* hd_char, BEAM_HD_SP20_INFO *beam_info);
48 void decode_header_DBP_SP20 (HD_DBP_SP20_RAW *hd_raw, HD_DBP_SP20_DECOD *hd_decod);
49 void PrintHeaderDBP(HD_DBP_SP20_DECOD *hd_decod);
50 void PrintHeader(BEAM_HD_SP20_INFO *beam_info);
51 BEAM_HD_SP20_INFO * decode_header_sp20_date_from_name(unsigned char *hd_char,BEAM_HD_SP20_INFO *beam_info,char *nome_file);
52 void convert_format(HD_DBP_SP20_DECOD *hd_decod, BEAM_HD_SP20_INFO *beam_info, T_MDB_data_header *old_header);