• 大小: 25.89MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-28
  • 语言: C#
  • 标签: 二等水准  C#  课程实习  

资源简介

之前大二做二等精密水准测量实习的时候写的一个程序,完全按照任务书的要求来做的,实现的是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  水准网平差程序\AccessDatabaseEngine.exe
     文件         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个文件信息

评论

共有 条评论