最近搜罗了一些资料,做了一个生成狄洛尼三角网的程序,希望与大家共享!(祥子原创)
还作了基于MO+VB的较为详细功能的开发,希望与大家交流!点是存储在Access数据库里,当然也可以 改为.dat或是其它格式。
下图分别为主窗口和生成三角网窗口,等值线还未做出,希望达到大家的指导。
现在把代码贴出来,希望能对大家有帮助,也希望得到大家的指导!
希望大家多多光顾本圈子(http://q.163.com/gissky/)及我的博客(http://gxiang82.blog.163.com/)
此代码已经通过测试!完全可以流畅运行!
Imports System.Data
Imports ESRI.MapObjects2.Core
Imports System.Drawing
Imports System.IO
Imports System.Data.OleDb
Imports System.Math
Public Structure dVertex
Dim x As Integer
Dim y As Integer
Dim z As Integer
End Structure
'Created Triangles, vv# are the vertex pointers
Public Structure dTriangle
Dim vv0 As Double
Dim vv1 As Double
Dim vv2 As Double
End Structure
Public Class TIN
'Set these as applicable
Public Const MaxVertices As Short = 500
Public Const MaxTriangles As Short = 1000
Dim tPoints As Integer = 1
'Our points
Public Vertex(MaxVertices) As dVertex
'Our Created Triangles
Public Triangle(MaxTriangles) As dTriangle
Dim HowMany As Integer
Public StartPath As String = Application.StartupPath & "/gxdian.mdb"
Public ConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; "
Public ConnectStr As String = ConnStr & "Data Source=" & StartPath
Public DataAdapter As OleDbDataAdapter
Public dataReader As OleDbDataReader
Public DataConnection As OleDbConnection
Public sqlComm As OleDbCommand
Dim cr As New ESRI.MapObjects2.Core.ChartRenderer
'Inherits System.Windows.Forms.Form
Dim pt As ESRI.MapObjects2.Core.Points
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub
Private Sub AxMap1_MouseMoveEvent(ByVal sender As Object, ByVal e As ESRI.MapObjects2.Core.MouseMoveEventArgs) Handles AxMap1.MouseMoveEvent
Dim pt1 As New ESRI.MapObjects2.Core.Point
pt1 = AxMap1.ToMapPoint(e.x, e.y)
ToolStripStatusLabel1.Text = "X坐标:" & pt1.X & "--Y坐标:" & pt1.Y
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p As ESRI.MapObjects2.Core.Point
'Dim dt As New DataTable()
'Dim connStr As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Sourse = gxdian.mdb"
'Dim sqlStr As String = "select * from gxdian"
'Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr)
'dataAdapter.Fill(dt)
'dataAdapter.Dispose()
'Dim px, py As Double
'Dim i As Integer
'For i = 0 To dt.Rows.Count - 1
' px = CDbl(dt.Rows(i)(2))
' py = CDbl(dt.Rows(i)(3))
' p = AxMap1.ToMapPoint(px, py)
' With AxMap1.TrackingLayer.Symbol(0)
' .SymbolType = SymbolTypeConstants.moPointSymbol<