/* 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"