Пример #1
0
        private void ProduceAndShow(MultiSitePeriodValueStorage result)
        {
            //计算历元产品,可以查看变化。
            var basePrn = baseSatSelectingControl1.SelectedPrn;

            if (basePrn.SatelliteType != SatelliteType.G)
            {
                MessageBox.Show("请选择GPS系统!目前似乎还不支持其它系统,如果支持了请尝试高版本先,若还没有请 Email To: [email protected]");
                return;
            }
            var maxRms         = namedFloatControl_maxRms.GetValue();
            var outIntervalSec = namedFloatControl_intervalOFProduct.GetValue() * 60.0;

            var table       = result.GetTable();
            var product     = result.GetProductTableOfAllDiffer();
            var fracTable   = result.GetAverageRoundFractionTable();
            var detailTable = result.GetDetailTable();
            var finalOne    = result.GetFinalFcbOfBsd(BasePrn);
            var bsdProduct  = result.GetWideLaneFcb(BasePrn);


            ObjectTableManager.WriteTable(table, this.OutputDirectory);
            ObjectTableManager.WriteTable(fracTable, this.OutputDirectory);
            ObjectTableManager.WriteTable(detailTable, this.OutputDirectory);
            ObjectTableManager.WriteTable(product, this.OutputDirectory);

            this.ShowInfo("Final wide fcb:\r\n" + Geo.Utils.StringUtil.ToString(finalOne));
            this.BindTableA(table);
            this.BindTableB(product);
            this.BindTableC(fracTable);

            var differInts = result.GetAllPossibleDifferInts();

            foreach (var item in differInts.GetData())
            {
                var tab = item.Value.GetDetailTable();
                //tab.Name = item.Key + "_宽巷星间单差整数";
                tab.Name = item.Key + "_Bsd.WLInt";
                ObjectTableManager.WriteTable(tab, this.OutputDirectory);
            }
            //计算归算的最终产品
            WriteFinal(bsdProduct);

            WriteEpochProducts(result, basePrn, maxRms, outIntervalSec);

            Geo.Utils.FormUtil.ShowOkAndOpenDirectory(Setting.TempDirectory);
        }