⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 高斯投影的正反算工具
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "高斯投影坐标转换"
   ClientHeight    =   4440
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   9885
   LinkTopic       =   "Form1"
   ScaleHeight     =   4440
   ScaleWidth      =   9885
   StartUpPosition =   3  '窗口缺省
   Begin VB.Frame Frame4 
      Caption         =   "分带"
      Height          =   855
      Left            =   4440
      TabIndex        =   21
      Top             =   2760
      Width           =   3135
      Begin VB.ComboBox Combo2 
         Height          =   300
         Left            =   1440
         TabIndex        =   24
         Text            =   " "
         Top             =   360
         Width           =   1335
      End
      Begin VB.Label Label9 
         Caption         =   "6度带=6"
         Height          =   255
         Left            =   480
         TabIndex        =   23
         Top             =   480
         Width           =   855
      End
      Begin VB.Label Label7 
         Caption         =   "3度带=3"
         Height          =   255
         Left            =   480
         TabIndex        =   22
         Top             =   240
         Width           =   855
      End
   End
   Begin VB.Frame Frame3 
      Caption         =   "参考椭球"
      Height          =   855
      Left            =   360
      TabIndex        =   16
      Top             =   2760
      Width           =   3975
      Begin VB.ComboBox Combo1 
         Height          =   300
         Left            =   2160
         TabIndex        =   19
         Text            =   " "
         Top             =   360
         Width           =   1575
      End
      Begin VB.Label Label6 
         BackStyle       =   0  'Transparent
         Caption         =   " 1975年国际椭球参数=2"
         Height          =   255
         Left            =   0
         TabIndex        =   18
         Top             =   480
         Width           =   2055
      End
      Begin VB.Label Label5 
         Caption         =   "克拉所思椭球参数=1"
         Height          =   255
         Left            =   120
         TabIndex        =   17
         Top             =   240
         Width           =   1815
      End
   End
   Begin VB.CommandButton Command2 
      Caption         =   " <-----反算"
      Height          =   735
      Left            =   4200
      TabIndex        =   15
      Top             =   1680
      Width           =   1575
   End
   Begin VB.CommandButton Command1 
      Caption         =   " 正算----->"
      Height          =   735
      Left            =   4200
      TabIndex        =   14
      Top             =   600
      Width           =   1575
   End
   Begin VB.Frame Frame2 
      Caption         =   "高斯投影平面坐标"
      Height          =   1935
      Left            =   6000
      TabIndex        =   1
      Top             =   480
      Width           =   3495
      Begin VB.TextBox Text8 
         Height          =   495
         Left            =   600
         TabIndex        =   13
         Text            =   " "
         Top             =   1200
         Width           =   2655
      End
      Begin VB.TextBox Text7 
         Height          =   495
         Left            =   600
         TabIndex        =   12
         Text            =   " "
         Top             =   480
         Width           =   2655
      End
      Begin VB.Label Label4 
         Caption         =   "Y:"
         Height          =   255
         Left            =   240
         TabIndex        =   11
         Top             =   1320
         Width           =   255
      End
      Begin VB.Label Label3 
         Caption         =   "X:"
         Height          =   375
         Left            =   240
         TabIndex        =   10
         Top             =   600
         Width           =   375
      End
   End
   Begin VB.Frame Frame1 
      Caption         =   "大地坐标"
      Height          =   1935
      Left            =   360
      TabIndex        =   0
      Top             =   480
      Width           =   3615
      Begin VB.TextBox Text6 
         Height          =   495
         Left            =   2040
         TabIndex        =   9
         Text            =   " "
         Top             =   1200
         Width           =   1335
      End
      Begin VB.TextBox Text5 
         Height          =   495
         Left            =   1320
         TabIndex        =   8
         Text            =   " "
         Top             =   1200
         Width           =   495
      End
      Begin VB.TextBox Text4 
         Height          =   495
         Left            =   600
         TabIndex        =   7
         Text            =   " "
         Top             =   1200
         Width           =   495
      End
      Begin VB.TextBox Text3 
         Height          =   495
         Left            =   2040
         TabIndex        =   6
         Text            =   " "
         Top             =   480
         Width           =   1335
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Left            =   1320
         TabIndex        =   5
         Text            =   " "
         Top             =   480
         Width           =   495
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Left            =   600
         TabIndex        =   4
         Text            =   " "
         Top             =   480
         Width           =   495
      End
      Begin VB.Label Label2 
         Caption         =   "L:"
         Height          =   255
         Left            =   240
         TabIndex        =   3
         Top             =   1320
         Width           =   255
      End
      Begin VB.Label Label1 
         Caption         =   "B:"
         Height          =   255
         Left            =   240
         TabIndex        =   2
         Top             =   600
         Width           =   255
      End
   End
   Begin VB.Label Label8 
      Caption         =   " 制作人:毕昭恒"
      Height          =   375
      Left            =   1920
      TabIndex        =   20
      Top             =   3960
      Width           =   2415
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim zl  As Double
Dim A1, A2 As Integer


Private Sub Combo1_Click()

If Combo1.ListIndex = 0 Then A1 = 1

If Combo1.ListIndex = 1 Then A1 = 2

End Sub

Private Sub Combo2_Change()
If Combo2.ListIndex = 0 Then A2 = 3

If Combo2.ListIndex = 1 Then A2 = 6
End Sub

Private Sub Command1_Click()
 If A1 = 1 Then
Dim d1, d2, d3, c1, c2, c3, a0, N, k, f, h, b, L, a3, a4, a5, a6, l1, x, y As Double
d1 = Val(Text1.Text)
d2 = Val(Text2.Text)
d3 = Val(Text3.Text)
c1 = Val(Text4.Text)
c2 = Val(Text5.Text)
c3 = Val(Text6.Text)
b = (d1 + d2 / 60 + d3 / 3600) * 3.14159265358979 / 180
k = Cos(b)
h = Sin(b)
f = d1 * 3600 + d2 * 60 + d3
l1 = c1 * 3600 + c2 * 60 + c3
L = l1 / 206264.806247096
N = 6399698.902 - (21562.267 - (108.973 - 0.612 * k ^ 2) * k ^ 2) * k ^ 2
a0 = 32140.404 - (135.3302 - (0.7092 - 0.004 * k ^ 2) * k ^ 2) * k ^ 2
a4 = (0.25 + 0.00252 * k * k) * k * k - 0.04166
a6 = (0.166 * k * k - 0.084) * k * k
a3 = (0.3333333 + 0.001123 * k ^ 2) * k ^ 2 - 0.1666667
a5 = 0.0083 - (0.1667 - (0.1968 + 0.004 * k ^ 2) * k ^ 2) * k ^ 2
x = 6367558.4969 * f / 206264.806247096 - (a0 - (0.5 + (a4 + a6 * L * L) * L * L) * L * L * N) * h * k
y = (1 + (a3 + a5 * L * L) * L * L) * L * N * k
Text7.Text = x
Text8.Text = y

ElseIf A1 = 2 Then
d1 = Val(Text1.Text)
d2 = Val(Text2.Text)
d3 = Val(Text3.Text)
c1 = Val(Text4.Text)
c2 = Val(Text5.Text)
c3 = Val(Text6.Text)
b = (d1 + d2 / 60 + d3 / 3600) * 3.14159265358979 / 180
k = Cos(b)
h = Sin(b)
f = d1 * 3600 + d2 * 60 + d3
l1 = c1 * 3600 + c2 * 60 + c3
L = l1 / 206264.806247096
N = 6399596.652 - (21565.045 - (108.996 - 0.603 * k ^ 2) * k ^ 2) * k ^ 2
a0 = 32144.5189 - (135.3646 - (0.7034 - 0.0041 * k ^ 2) * k ^ 2) * k ^ 2
a4 = (0.25 + 0.00253 * k * k) * k * k - 0.04167
a6 = (0.167 * k * k - 0.083) * k * k
a3 = (0.3333333 + 0.001123 * k ^ 2) * k ^ 2 - 0.1666667
a5 = 0.00878 - (0.1702 - 0.20382 * k ^ 2) * k ^ 2
x = 6367452.1328 * f / 206264.806247096 - (a0 - (0.5 + (a4 + a6 * L * L) * L * L) * L * L * N) * h * k
y = (1 + (a3 + a5 * L * L) * L * L) * L * N * k
Text7.Text = x
Text8.Text = y
End If
End Sub

Private Sub Command2_Click()
 If A1 = 1 Then
Dim d1, d2, c1, c, z, N, b2, b3, b4, b5, x, y, b, L, k1, k3, k4, k2 As Double
x = Val(Text7.Text)
y = Val(Text8.Text)
c = x / 6367558.4969
k1 = Cos(c)
k2 = Sin(c)
c1 = c + (50221746 + (293622 + (2350 + 22 * k1 * k1) * k1 * k1) * k1 * k1) * (0.1 ^ 10) * k2 * k1
k3 = Cos(c1)
N = 6399698.902 - (21562.267 - (108.973 - 0.612 * k3 * k3) * k3 * k3) * k3 * k3
z = y / (N * k3)
b2 = (0.5 + 0.003369 * k3 * k3) * k3 * Sin(c1)
b3 = 0.333333 - (0.166667 - 0.001123 * k3 * k3) * k3 * k3
b4 = 0.25 + (0.16161 + 0.00562 * k3 * k3) * k3 * k3
b5 = 0.2 - (0.1667 - 0.0088 * k3 * k3) * k3 * k3
b = c1 - (1 - (b4 - 0.12 * z * z) * z * z) * z * z * b2
L = (1 - (b3 - b5 * z * z) * z * z) * z * 206264.806247096
k4 = b * 206264.806247096
Text1.Text = Fix(k4 / 3600)
Text2.Text = Fix(k4 / 60 - Fix(k4 / 3600) * 60)
Text3.Text = k4 - Fix(k4 / 60) * 60
Text4.Text = Fix(L / 3600)
Text5.Text = Fix(L / 60 - Fix(L / 3600) * 60)
Text6.Text = L - Fix(L / 60) * 60

ElseIf A1 = 2 Then
x = Val(Text7.Text)
y = Val(Text8.Text)
c = x / 6367452.1328
k1 = Cos(c)
k2 = Sin(c)
c1 = c + (50228976 + (293697 + (2383 + 22 * k1 * k1) * k1 * k1) * k1 * k1) * (0.1 ^ 10) * k2 * k1
k3 = Cos(c1)
N = 6399698.902 - (21562.267 - (108.973 - 0.612 * k3 * k3) * k3 * k3) * k3 * k3
z = y / (N * k3)
b2 = (0.5 + 0.00336975 * k3 * k3) * k3 * Sin(c1)
b3 = 0.3333333 - (0.1666667 - 0.001123 * k3 * k3) * k3 * k3
b4 = 0.25 + (0.161612 + 0.005617 * k3 * k3) * k3 * k3
b5 = 0.2 - (0.16667 - 0.00878 * k3 * k3) * k3 * k3
b = c1 - (1 - (b4 - 0.12 * z * z) * z * z) * z * z * b2
L = (1 - (b3 - b5 * z * z) * z * z) * z * 206264.806247096
k4 = b * 206264.806247096
Text1.Text = Fix(k4 / 3600)
Text2.Text = Fix(k4 / 60 - Fix(k4 / 3600) * 60)
Text3.Text = k4 - Fix(k4 / 60) * 60
Text4.Text = Fix(L / 3600)
Text5.Text = Fix(L / 60 - Fix(L / 3600) * 60)
Text6.Text = L - Fix(L / 60) * 60
End If
End Sub

Private Sub Form_Load()
Label8.FontSize = 12
Combo1.AddItem "1"
Combo1.AddItem "2"
Combo2.AddItem "3"
Combo2.AddItem "6"
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -