Пример #1
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);
        }
Пример #2
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);
        }