ISCE_INSAR/components/stdproc/alosreformat/include/sarleader_fdr.h

218 lines
7.4 KiB
C
Raw Normal View History

2019-01-16 19:40:08 +00:00
/* provides structures to read SAR tapes*/
/* modified from the rceos programs by
C. Tomassini & F. Lorenna */
/*
also from:
from CERS (RAW) CCT format specifications STD-TM#92-767F
Canada Centre for Remote Sensing (CCRS)
Surveys, Mapping and Remote Sensing Sector
Energy, Mines and Resources Canada
R. J. Mellors
July 1997, IGPP-SIO
*/
#define SARLEADER_FDR_BINARY_WCS "*********** SAR FDR BINARY **********\n"\
"record_seq_no ==> %1d\n"\
"record_subtype_code1 ==> %1x\n"\
"record_type_code1 ==> %1x\n"\
"record_subtype_code2 ==> %1x\n"\
"record_subtype_code3 ==> %1x\n"\
"record_length ==> %1d\n\n"
#define SARLEADER_FDR_BINARY_RVL(SP)\
(SP)->record_seq_no,\
(SP)->record_subtype_code1,\
(SP)->record_type_code1,\
(SP)->record_subtype_code2,\
(SP)->record_subtype_code3,\
(SP)->record_length
struct sarleader_binary {
int record_seq_no;
char record_subtype_code1;
char record_type_code1;
char record_subtype_code2;
char record_subtype_code3;
int record_length;
};
#define SARLEADER_FDR_FIXSEG_RCS "%2c%2c%12c%2c%2c%12c%4c%16c%4c%8c%4c%4c%8c%4c%4c%8c%4c%4c%64c"
#define SARLEADER_FDR_FIXSEG_RVL(SP)\
(SP)->A_E_flag,\
(SP)->blank_2,\
(SP)->for_con_doc,\
(SP)->for_con_doc_rev_level,\
(SP)->file_des_rev_level,\
(SP)->softw_rel,\
(SP)->file_number,\
(SP)->file_name,\
(SP)->rec_seq_loc_type_flag,\
(SP)->seq_number_loc,\
(SP)->seq_number_field_length,\
(SP)->rec_code_loc_type_flag,\
(SP)->rec_code_loc,\
(SP)->rec_code_field_length,\
(SP)->rec_len_loc_type_flag,\
(SP)->rec_len_loc,\
(SP)->rec_len_field_length,\
(SP)->reserved_4,\
(SP)->reserved_segment
struct sarleader_fdr_fixseg {
char A_E_flag[2]; /* 13 */
char blank_2[2]; /* 15 */
char for_con_doc[12]; /* 17 */
char for_con_doc_rev_level[2]; /* 29 */
char file_des_rev_level[2]; /* 31 */
char softw_rel[12]; /* 33 */
char file_number[4]; /* 45 */
char file_name[16]; /* 49 */
char rec_seq_loc_type_flag[4]; /* 65 */
char seq_number_loc[8]; /* 69 */
char seq_number_field_length[4]; /* 77 */
char rec_code_loc_type_flag[4]; /* 81 */
char rec_code_loc[8]; /* 85 */
char rec_code_field_length[4]; /* 93 */
char rec_len_loc_type_flag[4]; /* 97 */
char rec_len_loc[8]; /* 101 */
char rec_len_field_length[4]; /* 109 */
char reserved_4[4]; /* 113 */
char reserved_segment[64]; /* 117 */
};
#define SARLEADER_FDR_VARSEG_RCS "%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%6c%60c%6c%6c%288c"
#define SARLEADER_FDR_VARSEG_RVL(SP)\
(SP)->n_data_set_summ_rec,\
(SP)->data_set_summ_rec_len,\
(SP)->n_map_projec_rec,\
(SP)->map_projec_rec_len,\
(SP)->n_plat_pos_data_rec,\
(SP)->plat_pos_data_rec_len,\
(SP)->n_att_data_rec,\
(SP)->att_data_rec_len,\
(SP)->n_rad_data_rec,\
(SP)->rad_data_rec_len,\
(SP)->n_rad_comp_rec,\
(SP)->rad_comp_rec_len,\
(SP)->n_data_qua_summ_rec,\
(SP)->data_qua_summ_rec_len,\
(SP)->n_data_hist_rec,\
(SP)->data_hist_rec_len,\
(SP)->n_range_spectra_rec,\
(SP)->range_spectra_rec_len,\
(SP)->n_DEM_des_rec,\
(SP)->DEM_des_rec_len,\
(SP)->n_radar_par_update_rec,\
(SP)->radar_par_update_rec_len,\
(SP)->n_annotation_data_rec,\
(SP)->annotation_data_rec_len,\
(SP)->n_detailed_proc_rec,\
(SP)->detailed_proc_rec_len,\
(SP)->n_cal_rec,\
(SP)->cal_rec_len,\
(SP)->n_GCP_rec,\
(SP)->GCP_rec_len,\
(SP)->spare_60,\
(SP)->n_facility_data_rec,\
(SP)->facility_data_rec_len,\
(SP)->blanks_288
struct sarleader_fdr_varseg {
char n_data_set_summ_rec[6]; /* 181-186 I6*/
char data_set_summ_rec_len[6]; /* 187-192 I6*/
char n_map_projec_rec[6]; /* 193-198 I6*/
char map_projec_rec_len[6]; /* 199-204 I6*/
char n_plat_pos_data_rec[6]; /* 205-210 I6*/
char plat_pos_data_rec_len[6]; /* 211-216 I6*/
char n_att_data_rec[6]; /* 217-222 I6*/
char att_data_rec_len[6]; /* 223-228 I6*/
char n_rad_data_rec[6]; /* 229-234 I6*/
char rad_data_rec_len[6]; /* 235-240 I6*/
char n_rad_comp_rec[6]; /* 241-246 I6*/
char rad_comp_rec_len[6]; /* 247-252 I6*/
char n_data_qua_summ_rec[6]; /* 253-258 I6*/
char data_qua_summ_rec_len[6]; /* 259-264 I6*/
char n_data_hist_rec[6]; /* 265-270 I6*/
char data_hist_rec_len[6]; /* 271-276 I6*/
char n_range_spectra_rec[6]; /* 277-282 I6*/
char range_spectra_rec_len[6]; /* 283-288 I6*/
char n_DEM_des_rec[6]; /* 289-294 I6*/
char DEM_des_rec_len[6]; /* 295-300 I6*/
char n_radar_par_update_rec[6]; /* 301-306 I6*/
char radar_par_update_rec_len[6]; /* 307-312 I6*/
char n_annotation_data_rec[6]; /* 313-318 I6*/
char annotation_data_rec_len[6]; /* 319-324 I6*/
char n_detailed_proc_rec[6]; /* 325-330 I6*/
char detailed_proc_rec_len[6]; /* 331-336 I6*/
char n_cal_rec[6]; /* 337-342 I6*/
char cal_rec_len[6]; /* 343-348 I6*/
char n_GCP_rec[6]; /* 349-354 I6*/
char GCP_rec_len[6]; /* 355-360 I6*/
char spare_60[60]; /* 361-420 I6*/
char n_facility_data_rec[6]; /* 421-426 I6*/
char facility_data_rec_len[6]; /* 427-432 I6*/
char blanks_288[288]; /* 433-720 A80*/
};
#define SARLEADER_FDR_FIXSEG_WCS "*********** SAR FDR FIXED SEGMENT ***********\n"\
"A_E_flag ==> %.2s\n"\
"blank_2 ==> %.2s\n"\
"for_con_doc ==> %.12s\n"\
"for_con_doc_rev_level ==> %.2s\n"\
"file_des_rev_level ==> %.2s\n"\
"softw_rel ==> %.12s\n"\
"file_number ==> %.4s\n"\
"file_name ==> %.16s\n"\
"rec_seq_loc_type_flag ==> %.4s\n"\
"seq_number_loc ==> %.8s\n"\
"seq_number_field_length ==> %.4s\n"\
"rec_code_loc_type_flag ==> %.4s\n"\
"rec_code_loc ==> %.8s\n"\
"rec_code_field_length ==> %.4s\n"\
"rec_len_loc_type_flag ==> %.4s\n"\
"rec_len_loc ==> %.8s\n"\
"rec_len_field_length ==> %.4s\n"\
"reserved_4 ==> %.4s\n"\
"reserved_segment ==> %.64s\n\n"
#define SARLEADER_FDR_VARSEG_WCS "*********** SAR FDR VARIABLE SEG ***********\n"\
"n_data_set_summ_rec ==> %.6s\n"\
"data_set_summ_rec_len ==> %.6s\n"\
"n_map_projec_rec ==> %.6s\n"\
"map_projec_rec_len ==> %.6s\n"\
"n_plat_pos_data_rec ==> %.6s\n"\
"plat_pos_data_rec_len ==> %.6s\n"\
"n_att_data_rec ==> %.6s\n"\
"att_data_rec_len ==> %.6s\n"\
"n_rad_data_rec ==> %.6s\n"\
"rad_data_rec_len ==> %.6s\n"\
"n_rad_comp_rec ==> %.6s\n"\
"rad_comp_rec_len ==> %.6s\n"\
"n_data_qua_summ_rec ==> %.6s\n"\
"data_qua_summ_rec_len ==> %.6s\n"\
"n_data_hist_rec ==> %.6s\n"\
"data_hist_rec_len ==> %.6s\n"\
"n_range_spectra_rec ==> %.6s\n"\
"range_spectra_rec_len ==> %.6s\n"\
"n_DEM_des_rec ==> %.6s\n"\
"DEM_des_rec_len ==> %.6s\n"\
"n_radar_par_update_rec ==> %.6s\n"\
"radar_par_update_rec_len ==> %.6s\n"\
"n_annotation_data_rec ==> %.6s\n"\
"annotation_data_rec_len ==> %.6s\n"\
"n_detailed_proc_rec ==> %.6s\n"\
"detailed_proc_rec_len ==> %.6s\n"\
"n_cal_rec ==> %.6s\n"\
"cal_rec_len ==> %.6s\n"\
"n_GCP_rec ==> %.6s\n"\
"GCP_rec_len ==> %.6s\n"\
"spare_60 ==> %.60s\n"\
"n_facility_data_rec ==> %.6s\n"\
"facility_data_rec_len ==> %.6s\n"\
"blanks_288 ==> %.288s\n\n"