资源简介
之前大二做二等精密水准测量实习的时候写的一个程序,完全按照任务书的要求来做的,实现的是xlsx电子手簿数据直接读入,输出txt的各点平差结果文件,它能自动识别点号,不过建议使用前先修改源代码里面的点号识别类
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Data.OleDb;
namespace 水准网平差程序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender EventArgs e)
{
//读取表格文件
dataGridView1.DataSource = null; //每次打开清空内容
DataTable dt = ReadFile.getData().Tables[0];
dataGridView1.DataSource = dt;
}
private void button2_Click(object sender EventArgs e)
{
int n = dataGridView1.RowCount - 1;
label3.Text = n.ToString();
if (n <= 2)
{
MessageBox.Show(“观测数据不足!“ “请重新添加数据“);
return;
}
int t = 12;
label8.Text = t.ToString();
string[] start = new string[n];string[] end = new string[n];
int[] num_start = new int[n]; int[] num_end = new int[n];
double[] H = new double[n];double[] S = new double[n];
double[] X0 = new double[t1];
//将表格的数据转化成数组
for(int i=0;i {
start[i] = (string)dataGridView1[1 i].Value;
end[i] = (string)dataGridView1[2 i].Value;
H[i] = (double)dataGridView1[3 i].Value;
S[i] = (double)dataGridView1[4 i].Value;
num_start[i] = 点号识别(start[i]); num_end[i] = 点号识别(end[i]);
}
//计算各点高程近似值X0
#region
double h0 = 24.802;
X0[00] = H[Array.IndexOf(num_start 0)]+h0;
for(int i=0;i {
if(num_end[i]>1&&num_start[i]>0)
if(X0[num_end[i]-10]==0)//a
{
X0[num_end[i]-1 0] = X0[num_start[i]-1 0] + H[i];
}
}
#endregion
//计算误差方程系数阵B
double[] B = new double[n t];
for(int i=0;i {
for(int j=0;j {
if (num_start[i]!=0&&j == num_start[i] - 1)
{
B[i j] = -1;
}
else if (num_end[i] != 0 && j == num_end[i] - 1)
{
B[i j] = 1;
}
else
B[i j] = 0;
}
}
//构建权阵P
double[] P = new double[n n];
for(int i=0;i for(int j=0;j {
if (i == j) P[i i] = 1000 / S[i];//取1km的观测高差为单位权
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-05 23:22 水准网平差程序\
目录 0 2018-07-12 02:00 水准网平差程序\.vs\
目录 0 2018-07-12 02:00 水准网平差程序\.vs\水准网平差程序\
目录 0 2018-07-12 02:00 水准网平差程序\.vs\水准网平差程序\DesignTimeBuild\
文件 176 2018-07-08 23:25 水准网平差程序\.vs\水准网平差程序\DesignTimeBuild\.dtbcache
目录 0 2018-07-12 02:00 水准网平差程序\.vs\水准网平差程序\v15\
文件 50688 2018-07-12 01:19 水准网平差程序\.vs\水准网平差程序\v15\.suo
目录 0 2018-07-12 02:00 水准网平差程序\.vs\水准网平差程序\v15\Server\
目录 0 2018-07-12 02:00 水准网平差程序\.vs\水准网平差程序\v15\Server\sqlite3\
文件 0 2018-07-08 17:58 水准网平差程序\.vs\水准网平差程序\v15\Server\sqlite3\db.lock
文件 585728 2018-07-12 01:04 水准网平差程序\.vs\水准网平差程序\v15\Server\sqlite3\storage.ide
文件 32768 2018-07-12 00:59 水准网平差程序\.vs\水准网平差程序\v15\Server\sqlite3\storage.ide-shm
文件 4128272 2018-07-12 01:19 水准网平差程序\.vs\水准网平差程序\v15\Server\sqlite3\storage.ide-wal
文件 26646944 2018-07-08 17:40 水准网平差程序\AccessDataba
文件 433 2018-07-12 02:13 水准网平差程序\平差结果数据.txt
目录 0 2018-08-05 23:22 水准网平差程序\水准网平差程序\
文件 1032 2018-07-08 11:37 水准网平差程序\水准网平差程序.sln
文件 39424 2018-07-12 04:25 水准网平差程序\水准网平差程序.v12.suo
文件 187 2018-07-08 11:37 水准网平差程序\水准网平差程序\App.config
目录 0 2018-07-12 02:00 水准网平差程序\水准网平差程序\bin\
目录 0 2018-08-05 23:22 水准网平差程序\水准网平差程序\bin\Debug\
文件 19968 2018-07-12 02:11 水准网平差程序\水准网平差程序\bin\Debug\水准网平差程序.exe
文件 187 2018-07-08 11:37 水准网平差程序\水准网平差程序\bin\Debug\水准网平差程序.exe.config
文件 54784 2018-07-12 02:11 水准网平差程序\水准网平差程序\bin\Debug\水准网平差程序.pdb
文件 24224 2018-07-12 04:23 水准网平差程序\水准网平差程序\bin\Debug\水准网平差程序.vshost.exe
文件 187 2018-07-08 11:37 水准网平差程序\水准网平差程序\bin\Debug\水准网平差程序.vshost.exe.config
文件 490 2018-04-12 07:35 水准网平差程序\水准网平差程序\bin\Debug\水准网平差程序.vshost.exe.manifest
文件 9100 2018-07-12 02:11 水准网平差程序\水准网平差程序\Form1.cs
文件 13217 2018-07-12 01:06 水准网平差程序\水准网平差程序\Form1.Designer.cs
文件 6553 2018-07-12 01:06 水准网平差程序\水准网平差程序\Form1.resx
文件 8582 2018-07-09 11:24 水准网平差程序\水准网平差程序\Matrixs.cs
............此处省略29个文件信息
- 上一篇:C#摄影测量学相对定向后方交会尺度量算三合一源程序
- 下一篇:C#上位机反编译
评论
共有 条评论