From 7d4be359fd7f53ad8024824512ebcd9b99e24792 Mon Sep 17 00:00:00 2001 From: esea_info Date: Wed, 12 Apr 2023 18:07:40 +0800 Subject: [PATCH] save mode --- awrams.py | 142 +++++++++++++++++++++++++++----------------------- yiwinframe.py | 5 +- 2 files changed, 81 insertions(+), 66 deletions(-) diff --git a/awrams.py b/awrams.py index 1aa0982..4a5dc32 100644 --- a/awrams.py +++ b/awrams.py @@ -491,7 +491,10 @@ class AWRAMS(object): self.__do_sensor_dict_interpo() # 获得输出目录路径 self.ymdhms self.output_path self.get_ymdhms() - # 追加保存 + # get Lw Rs + self.getLwRs() + # 保存 info.txt + # 保存 data self.appendSave() # 通知ui self.__set_msg("data", {"tm":self.ymdhms, "res":self.res} ) @@ -559,60 +562,6 @@ class AWRAMS(object): log.debug(f"getAvg: {self.intensity_after_avg}", __name__, "getAvg") pass - # def dealOneHandheldMeasurement(self, fpath:Path): - # '''handheld一次测量包含多组数据''' - # # 调用handheldbuf 处理,将一组数据提交出来 - # log.info(f" 手持一个文件,多组测量数据", __name__, "dealOneHandheldMeasurement") - # if len(self.filelist)<1: - # pass - - # # 当前文件名 - # self.output_path = OUTPUT_DIR - # self.current_filepath = fpath - # self.current_measure_time = self.hhp.getCurrentMeasureTimeFromPath(fpath) - # self.ymdhms = "20"+ str(self.info_dict['year']) + '_' \ - # + str(self.info_dict['month']) + '_' \ - # + str(self.info_dict['day']) + '_' \ - # + str(self.info_dict['hour']) + '_' \ - # + str(self.info_dict['minute']) + '_' \ - # + str(self.info_dict['second']) - # self.output_path = self.output_path.joinpath( self.ymdhms ) - # log.debug(f"current_measure_time: {self.current_measure_time}", __name__, "dealOneHandheldMeasurement") - - # self.hhb.readFile2Buf(fpath) - # log.debug(f"buf: {self.hhb.get_buf_size()}", __name__, "dealOneHandheldMeasurement") - # self.decode_sensor_buf() - - # # 解析Buf, 对buf分组,获得[{lsky: esky : lwater} .... ] - # len_total = len(self.intensity_before_avg) - # if len_total%self.measurement_repeat != 0: - # self.res = {} - # return # 返回退出 - # group_num = int(len_total/self.measurement_repeat) - - # log.info(f"group_num...: {group_num}", __name__, "dealOneHandheldMeasurement") - # self.real_wavelength = self.getWavelenthDict() - # if group_num == 1: - # self.dealOneGroup() # self.intensity_before_avg - # return - - # self.dealMultiGroup(group_num) - - # def dealMultiGroup(self, group_num:int ): - # log.info(f"group_num: {group_num}", __name__, "dealMultiGroup") - # # 分组进行处理 - # for i in range(group_num): - # self.current_group_num = i - # # 重设当前测量时间 - # self.current_measure_time = "" - # self.res = {} - # tmp_before_avg = [] - # for j in range( self.measurement_repeat ): - # tmp_before_avg.append( self.intensity_before_avg[j+i*self.measurement_repeat] ) - # pass - # self.getAvg(tmp_before_avg) - # self.__do_sensor_dict_interpo() - # self.appendSave( ) def getRetDict(self,) : ret_dict = { } @@ -714,14 +663,15 @@ class AWRAMS(object): def clearRes(self, ) -> None: self.res = { } - # def checkLskyEskyLwater(self, ) -> bool: - # if not self.res["Lsky"] : - # return False - # if not self.res["Esky"] : - # return False - # if not self.res["Lwater"] : - # return False - # return True + def getLwRs(self, ) -> bool: + """ + 并计算Lw Rs并保存 + """ + Lw = self.res["Lwater"] - ROWFACTOR * self.res["Lsky"] + self.res.update({ "Lw" : Lw }) + Rs = self.res["Lw"] / self.res["Esky"] + self.res.update({ "Rs" : Rs }) + def getLwRsAndSave(self, ) -> bool: """ @@ -945,4 +895,68 @@ if __name__ == "__main__": # + str(self.info_dict['second']) # self.output_path = self.output_path.joinpath( self.ymdhms ) - # self.appendSave() \ No newline at end of file + # self.appendSave() + + # def dealOneHandheldMeasurement(self, fpath:Path): + # '''handheld一次测量包含多组数据''' + # # 调用handheldbuf 处理,将一组数据提交出来 + # log.info(f" 手持一个文件,多组测量数据", __name__, "dealOneHandheldMeasurement") + # if len(self.filelist)<1: + # pass + + # # 当前文件名 + # self.output_path = OUTPUT_DIR + # self.current_filepath = fpath + # self.current_measure_time = self.hhp.getCurrentMeasureTimeFromPath(fpath) + # self.ymdhms = "20"+ str(self.info_dict['year']) + '_' \ + # + str(self.info_dict['month']) + '_' \ + # + str(self.info_dict['day']) + '_' \ + # + str(self.info_dict['hour']) + '_' \ + # + str(self.info_dict['minute']) + '_' \ + # + str(self.info_dict['second']) + # self.output_path = self.output_path.joinpath( self.ymdhms ) + # log.debug(f"current_measure_time: {self.current_measure_time}", __name__, "dealOneHandheldMeasurement") + + # self.hhb.readFile2Buf(fpath) + # log.debug(f"buf: {self.hhb.get_buf_size()}", __name__, "dealOneHandheldMeasurement") + # self.decode_sensor_buf() + + # # 解析Buf, 对buf分组,获得[{lsky: esky : lwater} .... ] + # len_total = len(self.intensity_before_avg) + # if len_total%self.measurement_repeat != 0: + # self.res = {} + # return # 返回退出 + # group_num = int(len_total/self.measurement_repeat) + + # log.info(f"group_num...: {group_num}", __name__, "dealOneHandheldMeasurement") + # self.real_wavelength = self.getWavelenthDict() + # if group_num == 1: + # self.dealOneGroup() # self.intensity_before_avg + # return + + # self.dealMultiGroup(group_num) + + # def dealMultiGroup(self, group_num:int ): + # log.info(f"group_num: {group_num}", __name__, "dealMultiGroup") + # # 分组进行处理 + # for i in range(group_num): + # self.current_group_num = i + # # 重设当前测量时间 + # self.current_measure_time = "" + # self.res = {} + # tmp_before_avg = [] + # for j in range( self.measurement_repeat ): + # tmp_before_avg.append( self.intensity_before_avg[j+i*self.measurement_repeat] ) + # pass + # self.getAvg(tmp_before_avg) + # self.__do_sensor_dict_interpo() + # self.appendSave( ) + + # def checkLskyEskyLwater(self, ) -> bool: + # if not self.res["Lsky"] : + # return False + # if not self.res["Esky"] : + # return False + # if not self.res["Lwater"] : + # return False + # return True \ No newline at end of file diff --git a/yiwinframe.py b/yiwinframe.py index 6d13291..7eb95e8 100644 --- a/yiwinframe.py +++ b/yiwinframe.py @@ -31,6 +31,7 @@ ID_MEASURE = 1 ID_SENSOR_SETTING = 11 ID_LOGGING_SETTING = 12 ID_CAL_INFO = 13 +ID_DISPLAY_PARA = 14 ID_PLOT_LAST = 15 ID_PLOT_LAST_7 = 16 @@ -110,8 +111,8 @@ class YiwinFrame(wx.Frame): settingMenu.Append(ID_CAL_INFO, u'&获取标定信息', ' ') settingMenu.AppendSeparator() settingMenu.Append(ID_MEASURE, u'&处理数据', ' ') - # settingMenu.AppendSeparator() - # settingMenu.Append(ID_LOGGING_SETTING, u'&采集设置', ' ') + settingMenu.AppendSeparator() + settingMenu.Append(ID_LOGGING_SETTING, u'&采集设置', ' ') self.menubar.Append(settingMenu, u'&系统 ') plotMenu = wx.Menu()