📄 form1.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 + -