public static StringBuilder GetReport(Ellipsoid ellipsoid, List <GeodesicInfo> data, int type) { StringBuilder sb = new StringBuilder(); string line; line = "**********************************************************************\r\n\r\n"; sb.Append(line); line = "\t\t\t\t大地主题解算报告\r\n\r\n"; sb.Append(line); line = "**********************************************************************\r\n\r\n\r\n"; sb.Append(line); line = "------------------------------统计数据---------------------------------\r\n\r\n"; sb.Append(line); line = "\t计算点对总数:".PadRight(20) + data.Count + "\r\n\r\n"; sb.Append(line); line = "\t椭球长半轴:".PadRight(20) + ellipsoid.a + "\r\n\r\n"; sb.Append(line); line = "\t椭球扁率:".PadRight(20) + ellipsoid.f + "\r\n\r\n"; sb.Append(line); if (type == 1) { line = "\t计算类型:".PadRight(20) + "大地主题正算\t\r\n\r\n"; } else { line = "\t计算类型:".PadRight(20) + "大地主题反算\t\r\n\r"; } sb.Append(line); line = "\n\n"; sb.Append(line); line = "------------------------------计算结果--------------------------------------\r\n\r\n"; sb.Append(line); line = "\t点名\t纬度(B)\t\t经度 (L)\t\t大地方位角(A)\t\t大地线(S)\r\n\r\n"; sb.Append(line); for (int i = 0; i < data.Count; i++) { GeodesicInfo info = data[i]; Pointinfo p1 = info.P1; Pointinfo p2 = info.P2; line = "\n"; sb.Append(line); line = "\t" + p1.Name.PadRight(10) + GeoPro.DMS2String(p1.B).PadRight(15) + GeoPro.DMS2String(p1.L).PadRight(15) + GeoPro.DMS2String(info.A12).PadRight(15) + info.S.ToString("0.000") + "\t\t\r\n\r\n"; sb.Append(line); line = "\t" + p2.Name.PadRight(10) + GeoPro.DMS2String(p2.B).PadRight(15) + GeoPro.DMS2String(p2.L).PadRight(15) + GeoPro.DMS2String(info.A21).PadRight(15) + info.S.ToString("0.000") + "\t\t\r\n\r\n"; sb.Append(line); } line = "\n"; sb.Append(line); return(sb); }
private void UpdateNegTable() { DataRow dr; for (int i = 0; i < NegData.Count; i++) { GeodesicInfo data = NegData[i]; dr = NegDataTable.Rows[i]; dr["A1"] = GeoPro.DMS2String(data.A12); dr["A2"] = GeoPro.DMS2String(data.A21); dr["S"] = data.S.ToString("0.000"); } }
private void UpdatePosTable() { DataRow dr; for (int i = 0; i < PosData.Count; i++) { GeodesicInfo data = PosData[i]; dr = PosDataTable.Rows[i]; Pointinfo p2 = data.P2; dr["终点"] = p2.Name; dr["B2"] = GeoPro.DMS2String(p2.B); dr["L2"] = GeoPro.DMS2String(p2.L); dr["A2"] = GeoPro.DMS2String(data.A21); } }
private void NegData2Table() { NegDataTable = new DataTable(); NegDataTable.Columns.Add("起点", System.Type.GetType("System.String")); NegDataTable.Columns.Add("B1", System.Type.GetType("System.String")); NegDataTable.Columns.Add("L1", System.Type.GetType("System.String")); NegDataTable.Columns.Add("终点", System.Type.GetType("System.String")); NegDataTable.Columns.Add("B2", System.Type.GetType("System.String")); NegDataTable.Columns.Add("L2", System.Type.GetType("System.String")); NegDataTable.Columns.Add("A1", System.Type.GetType("System.String")); NegDataTable.Columns.Add("A2", System.Type.GetType("System.String")); NegDataTable.Columns.Add("S", System.Type.GetType("System.String")); DataRow dr; for (int i = 0; i < NegData.Count; i++) { GeodesicInfo data = NegData[i]; Pointinfo p1 = data.P1; Pointinfo p2 = data.P2; dr = NegDataTable.NewRow(); dr["起点"] = p1.Name; dr["B1"] = GeoPro.DMS2String(p1.B); dr["L1"] = GeoPro.DMS2String(p1.L); dr["终点"] = p2.Name; dr["B2"] = GeoPro.DMS2String(p2.B); dr["L2"] = GeoPro.DMS2String(p2.L); NegDataTable.Rows.Add(dr); } EllipsoidA.Text = "椭球长半轴(a):" + MyEllipsoid.a; Ellipsoidf_.Text = "椭球扁率(f):" + MyEllipsoid.f; dataGridViewNeg.DataSource = NegDataTable; for (int i = 0; i < dataGridViewNeg.ColumnCount; i++) { dataGridViewNeg.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } }
private void PosData2Table() { PosDataTable = new DataTable(); PosDataTable.Columns.Add("起点", System.Type.GetType("System.String")); PosDataTable.Columns.Add("B1", System.Type.GetType("System.String")); PosDataTable.Columns.Add("L1", System.Type.GetType("System.String")); PosDataTable.Columns.Add("A1", System.Type.GetType("System.String")); PosDataTable.Columns.Add("S", System.Type.GetType("System.String")); PosDataTable.Columns.Add("终点", System.Type.GetType("System.String")); PosDataTable.Columns.Add("B2", System.Type.GetType("System.String")); PosDataTable.Columns.Add("L2", System.Type.GetType("System.String")); PosDataTable.Columns.Add("A2", System.Type.GetType("System.String")); DataRow dr; for (int i = 0; i < PosData.Count; i++) { GeodesicInfo data = PosData[i]; Pointinfo p1 = data.P1; dr = PosDataTable.NewRow(); dr["起点"] = p1.Name; dr["B1"] = GeoPro.DMS2String(p1.B); dr["L1"] = GeoPro.DMS2String(p1.L); dr["A1"] = GeoPro.DMS2String(data.A12); dr["S"] = data.S.ToString("0.000"); PosDataTable.Rows.Add(dr); } dataGridViewPos.DataSource = PosDataTable; for (int i = 0; i < dataGridViewPos.ColumnCount; i++) { dataGridViewPos.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } EllipsoidA.Text = "椭球长半轴(a):" + MyEllipsoid.a; Ellipsoidf_.Text = "椭球扁率(f):" + MyEllipsoid.f; }