• 大小: 323KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: 其他
  • 标签: vs  Tin  

资源简介

可自己设定高程值,进行等高线绘制,资源包括源数据+源文件+说明文档

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.OleDb;
using System.Drawing.Imaging;


namespace 等值线绘制
{
    public partial class MainView : Form
    {
        public MainView()
        {
            InitializeComponent();
        }

        #region//全局变量
        public struct Hpoint//存储点的坐标和高程
        {
            public float hx;
            public float hy;
            public float hz;
        }
        public struct IntervalInfo//存储等高线上点的信息
        {
            public float hx;
            public float hy;
            public float hz;
            public int mar1;
            public int mar2;
        }
        public struct TINtriangle//存储TIN的数据
        {
            public string mark_self;//某三角形标识
            public string[] mark_abut;//邻近三角形标识
            public int[] mark_point; //顶点标识           
        }  
        public int NT=0;//存储三角网的个数
        public TINtriangle[] triangle;//三角网的数据
        public Hpoint[] points;//三角网中点的坐标
        public IntervalInfo[] IntervalH;//存储等高线上点的信息        
        public Bitmap bmpH;
        public Graphics g;
        public float hmax hmin;//点的最大最小高程
        public int HH WH;//分别为图像的高度和宽度
        public int XD YD;//表示坐标原点距左下角的移动数  
        public float interval;//等高距
        public int NumP;//存储等高线上点的个数 
        public string filestr;//程序说明文件的路径
        //int[] gs;//用于表示每条等高线上的等高点数
        #endregion      

        /*求点a,b连成的直线上高程为Ht的点的坐标,返回值为求得的坐标*/
        public IntervalInfo GetValues(Hpoint a Hpoint b float Ht)
        {
            float bls;   IntervalInfo c;
            c.hz = Ht;
            bls = (float)((Ht - b.hz) / (a.hz - b.hz));
            if (a.hx > b.hx)                           
                c.hx = b.hx + bls * (a.hx - b.hx);
            else
                c.hx = a.hx + (b.hx - a.hx) * (1-bls);
            if (a.hy > b.hy)
                c.hy = b.hy + bls * (a.hy - b.hy);
            else
                c.hy = a.hy + (b.hy - a.hy) * (1 - bls);
            c.mar2 = 0; c.mar1 = 0;
            return c;
        }       
        
        #region//从excel中获取数据
        public void GetData(string filename TINtriangle[] tiangleHpoint[] points)
        {
            int ci = 0;
            string strConn = “Provider=Microsoft.Jet.OLEDB.4.0;“ + “Data Source=“ + @filename + “;“ + “Extended Properties=Excel 8.0;“;
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            OleDbCommand selcmd = new OleDbCommand();
            OleDbCommand selcmd2 = new OleDbCommand();
            selcmd.Connection = conn; 
            selcmd2.Connection = conn;       
            selcmd.CommandText = “select * from [sheet1$]“;
            selcmd2.CommandText = “select * from [sheet2$]“;
            OleDbDataAdapter da = new

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5635  2016-07-08 23:31  等值线绘制\Backup\等值线绘制.csproj

     文件      23514  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form1.cs

     文件      13470  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form1.Designer.cs

     文件      18600  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form1.resx

     文件       1182  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form2.cs

     文件       6673  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form2.Designer.cs

     文件       5814  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form2.resx

     文件        343  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form4.cs

     文件       4454  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form4.Designer.cs

     文件       5814  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form4.resx

     文件       1153  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form5.cs

     文件       7055  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form5.Designer.cs

     文件       5814  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Form5.resx

     文件        349  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\GetValue.cs

     文件       1167  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\GetValue.Designer.cs

     文件       5814  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\GetValue.resx

     文件       1183  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Help.cs

     文件       2665  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Help.Designer.cs

     文件       5814  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Help.resx

     文件        477  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Program.cs

     文件       1202  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Properties\AssemblyInfo.cs

     文件       2886  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Properties\Resources.Designer.cs

     文件       5612  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Properties\Resources.resx

     文件       1100  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Properties\Settings.Designer.cs

     文件        249  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\Properties\Settings.settings

     文件        358  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\ShowLast.cs

     文件       5884  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\ShowLast.Designer.cs

     文件       5814  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\ShowLast.resx

     文件       5296  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制\等值线绘制.csproj

     文件        938  2016-07-08 23:31  等值线绘制\Backup1\等值线绘制.sln

............此处省略167个文件信息

评论

共有 条评论