public void Add(BaseLineNetManager nets) { foreach (var net in nets) { this.Add(net.TimePeriod, net); } }
/// <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); }
/// <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); }
//计算改正结果 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; } }
/// <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); }
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); }