public void WriteOld(EpochLgoAscBaseLine file) { StringBuilder sb = new StringBuilder(); using (StreamWriter writer = new StreamWriter(new FileStream(FilePath, FileMode.Create), Encoding.Default)) { WriterHeader(writer); var net = file.GetBaseLineNet(); foreach (var kv in file.BaseLines) { var line = kv.Value; var item = kv.Value.Baseline; var xyz = item.ApproxXyzOfRov; //流动站坐标 writer.WriteLine("@#" + Geo.Utils.StringUtil.FillSpaceRight(item.BaseLineName.RovName, 16) + " " + ToString(item.ApproxXyzOfRov, 15, 4) + " MEAS" + " " + item.EstimatedRmsXyzOfRov.StdDev.Length.ToString("G5") + " 12"); writer.WriteLine("@&" + ToString(item.CovaMatrix, item.StdDev)); writer.WriteLine("@E " + ToString(line.ErrorEllipse)); //基线内容 writer.WriteLine("@+" + Geo.Utils.StringUtil.FillSpaceRight(item.BaseLineName.RefName, 16) + " " + ToString(item.ApproxXyzOfRef, 15, 4)); writer.WriteLine("@-" + Geo.Utils.StringUtil.FillSpaceRight(item.BaseLineName.RovName, 16) + " " + ToString(item.EstimatedVector, 15, 4)); writer.WriteLine("@=" + ToString(item.CovaMatrix, item.StdDev)); writer.WriteLine("@:" + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRef.Height, 14) + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRef.Offset, 14) ); writer.WriteLine("@;" + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRov.Height, 14) + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRov.Offset, 14) ); writer.WriteLine("@*" + ToString(item.Epoch)); writer.WriteLine("@E " + ToString(line.ErrorEllipse)); // @: 1.4580 0.0000 //@; 1.4110 0.0000 //@*13.11.2018 04:23:42 } } }
private StringBuilder BuildContent(EpochLgoAscBaseLine file) { StringBuilder sb = new StringBuilder(); var net = file.GetBaseLineNet(); foreach (var kv in file.BaseLines) { var line = kv.Value; var item = kv.Value.Baseline; var xyz = item.ApproxXyzOfRov; //流动站坐标 sb.AppendLine("@#" + Geo.Utils.StringUtil.FillSpaceRight(item.BaseLineName.RovName, 16) + " " + ToString(item.ApproxXyzOfRov, 15, 4) + " MEAS" + " " + item.EstimatedRmsXyzOfRov.StdDev.Length.ToString("G5") + " 12"); sb.AppendLine("@&" + ToString(item.CovaMatrix, item.StdDev)); sb.AppendLine("@E " + ToString(line.ErrorEllipse)); //基线内容 sb.AppendLine("@+" + Geo.Utils.StringUtil.FillSpaceRight(item.BaseLineName.RefName, 16) + " " + ToString(item.ApproxXyzOfRef, 15, 4)); sb.AppendLine("@-" + Geo.Utils.StringUtil.FillSpaceRight(item.BaseLineName.RovName, 16) + " " + ToString(item.EstimatedVector, 15, 4)); sb.AppendLine("@=" + ToString(item.CovaMatrix, item.StdDev)); sb.AppendLine("@:" + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRef.Height, 14) + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRef.Offset, 14) ); sb.AppendLine("@;" + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRov.Height, 14) + " " + Geo.Utils.StringUtil.FillSpaceLeft(line.AntennaBiasOfRov.Offset, 14) ); sb.AppendLine("@*" + ToString(item.Epoch)); sb.AppendLine("@E " + ToString(line.ErrorEllipse)); // @: 1.4580 0.0000 //@; 1.4110 0.0000 //@*13.11.2018 04:23:42 } return(sb); }