Ejemplo n.º 1
0
 public void Add(BaseLineNetManager nets)
 {
     foreach (var net in nets)
     {
         this.Add(net.TimePeriod, net);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 提取多时段GNSS网,
        /// </summary>
        /// <param name="table">异步网络基线结果</param>
        /// <param name="periodSpanMinutes">不同时段间隔,间隔内认为是同一时段,单位:分</param>
        /// <returns></returns>
        public static BaseLineNetManager Parse(ObjectTableStorage table, double periodSpanMinutes)
        {
            var list        = new List <EstimatedBaseline>();
            var timePeriods = BufferedTimePeriod.GroupToPeriods(table.GetColValues <Time>(ParamNames.Epoch), periodSpanMinutes * 60);
            var data        = new BaseLineNetManager();

            foreach (var timePeriod in timePeriods)
            {
                data.Add(timePeriod, new BaseLineNet()
                {
                    TimePeriod = timePeriod, Name = timePeriod.ToTimeString()
                });
            }
            foreach (var row in table.BufferedValues)
            {
                EstimatedBaseline obj = EstimatedBaseline.Parse(row);
                foreach (var item in data.KeyValues)
                {
                    if (item.Key.BufferedContains(obj.Epoch))
                    {
                        data[item.Key].Set(obj.BaseLineName, obj);
                    }
                }
            }
            foreach (var item in data.KeyValues)
            {
                item.Value.Init();
            }
            return(data);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 提取异步GNSS网
        /// </summary>
        /// <param name="pathes"></param>
        /// <param name="periodSpanMinutes">不同时段间隔,间隔内认为是同一时段,单位:分</param>
        /// <returns></returns>
        public static BaseLineNetManager Load(string[] pathes, double periodSpanMinutes)
        {
            var tables = ObjectTableManager.Read(pathes, ".");
            //合并所有的表格
            var table      = tables.Combine();
            var phaselNets = BaseLineNetManager.Parse(table, periodSpanMinutes);//时段网

            return(phaselNets);
        }
Ejemplo n.º 4
0
 //计算改正结果
 private void SetCorrected(BaseLineNetManager BaseLineNet, List <string> sites)
 {
     Corrected = new Dictionary <string, RmsedXYZ>();
     foreach (var name in sites)
     {
         var appXyz = BaseLineNet.GetApproxXyz(name);
         var xyz    = appXyz + Correction[name];
         Corrected[name] = xyz;
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// 各时段独立基线集合。
        /// </summary>
        /// <param name="lineSelectType"></param>
        /// <param name="GnssReveiverNominalAccuracy">接收机标称精度</param>
        /// <returns></returns>
        public BaseLineNetManager GetIndependentLines(IndependentLineSelectType lineSelectType)
        {
            var independentLineNet = new BaseLineNetManager();

            foreach (var item in this.KeyValues)
            {
                var lines = item.Value.GetIndependentNet(lineSelectType);
                independentLineNet.Add(item.Key, lines);
            }
            return(independentLineNet);
        }
Ejemplo n.º 6
0
        public BaselineNetResult(BaseLineNetManager BaseLineNet, List <string> sites, AdjustResultMatrix resultMatrix)
            : base(resultMatrix)
        {
            this.BaseLineNet  = BaseLineNet;
            this.ResultMatrix = resultMatrix;
            this.StdDev       = this.ResultMatrix.StdDev;
            //提取改正数
            SetCorrection(sites, resultMatrix);

            //计算改正结果
            SetCorrected(BaseLineNet, sites);
        }