Пример #1
0
    def uhmean(self):
        """Report mean."""
        read_coor = readdata.Read()
        station_U = defaultdict(list)
        station_H = defaultdict(list)
        for filepath, gsystem, ctype in zip(self.endoutput, self.gsystem,
                                            self.ctype):
            for date in self.getdaterange():
                report = read_coor.readcoor(filepath, date)
                if report is None:
                    continue
                for index in report.index.tolist():
                    name = report.at[index, 'name']
                    station_U[name].append(report.at[index, 'U_95'])
                    station_H[name].append(report.at[index, 'H_95'])

            # remove outlier and mean
            for name in station_U:
                station_u = np.array(station_U[name])
                station_h = np.array(station_H[name])
                station_U[name] = np.mean(station_u[~sciutilities.is_outlier(
                    station_u)])
                station_H[name] = np.mean(station_h[~sciutilities.is_outlier(
                    station_h)])
            # convert station_U, station_H to dataframe
            report_m = pd.DataFrame(
                index=range(len(station_U)), columns=['name', 'U_95', 'H_95'])
            report_m.name = station_U.keys()
            report_m.U_95 = station_U.values()
            report_m.H_95 = station_H.values()
            # start plot
            uh_plot = plotdata.Plot()
            date = '--'.join([str(self.duration[0]), str(self.duration[1])])
            uh_plot.plotUH(report, date, gsystem, ctype, self.respath)
Пример #2
0
 def satnum(self):
     """Plot satellite number."""
     read_satnum = readdata.Read()
     plot_satnum = plotdata.Plot()
     for date in self.getdaterange():
         for filepath in self.midoutput:
             sat_num = read_satnum.readsatnum(filepath, date)
             if sat_num is not None:
                 plot_satnum.plotsatnum(sat_num, date, self.respath)
Пример #3
0
 def satorbitc(self):
     """Plot satellite orbit and clock errors."""
     read_orbitc = readdata.Read()
     plot_orbitc = plotdata.Plot()
     for date in self.getdaterange():
         for filepath in self.midoutput:
             for prn in self.prn:
                 sat_orbitc = read_orbitc.readorbitc(filepath, date, prn)
                 if sat_orbitc is not None:
                     plot_orbitc.plotorbitc(sat_orbitc, prn, date, self.respath)
Пример #4
0
 def satiode(self):
     """Plot satellite iode."""
     read_iode = readdata.Read()
     plot_iode = plotdata.Plot()
     for date in self.getdaterange():
         for filepath in self.midoutput:
             for prn in self.prn:
                 sat_iode = read_iode.readsatiode(filepath, date, prn)
                 if sat_iode is not None:
                     plot_iode.plotsatiode(sat_iode, prn, date, self.respath)
Пример #5
0
 def uh(self):
     """Plot UH Errors."""
     read_coor = readdata.Read()
     uh_plot = plotdata.Plot()
     for date in self.getdaterange():
         for filepath, gsystem, ctype in zip(self.endoutput, self.gsystem,
                                             self.ctype):
             report = read_coor.readcoor(filepath, date)
             if report is not None:
                 uh_plot.plotUH(report, date, gsystem, ctype, self.respath)
Пример #6
0
    def report(self):
        """Report zdpos errors."""
        read_coor = readdata.Read()
        for date in self.getdaterange():
            for filepath, gsystem, ctype in zip(self.endoutput, self.gsystem,
                                                self.ctype):
                report = read_coor.readcoor(filepath, date)

                # save report
                report_fname = '-'.join(
                    [ctype, gsystem, str(date), 'report.csv'])
                report_path = os.path.join(self.respath, str(date), '-'.join([ctype, gsystem]))
                if not os.path.exists(report_path):
                    os.makedirs(report_path)
                report.to_csv(
                    os.path.join(report_path, report_fname),
                    sep='\t',
                    na_rep=' ',
                    index=False,
                    float_format='%.2f')