Exemplo n.º 1
0
        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
                }
            }
        }
Exemplo n.º 2
0
        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);
        }