永发信息网

用VB程序怎么做出高斯投影分带计算程序?

答案:1  悬赏:80  手机版
解决时间 2021-05-19 04:59
帮帮忙啊 急啊
最佳答案

按照图片添加控件,复制一下代码即可运行


Dim x, y, b, L As Integer

Private Sub Command1_Click()

Dim x, y, L0, b1, c, bf, bf1, bf2, nf, z, b2, b3, b4, b5, b, L, l1 As Variant

x = Val(Text1.Text)
y = Val(Text2.Text)
L0 = Val(Text3.Text)

b1 = (x / 6367452.1328)
c = Cos(b1) * Cos(b1)
bf = b1 * 206264.806247096 + (52289760 + (2936975 + (2383 + 22 * c) * c) * c) * Sin(b1) * Cos(b1) / 10 ^ (10)

bf1 = bf / 206264.806247096
bf2 = Cos(bf1) * Cos(bf1)

nf = 6399596.652 - (21565.045 - (108.996 - 0.603 * bf2) * bf2) * bf2
z = y / (nf * Cos(bf1))
b2 = (0.5 + 0.00336975 * bf2) * Sin(bf1) * Cos(bf1)
b3 = 0.3333333 - (0.1666667 - 0.001123 * bf2) * bf2
b4 = 0.25 + (0.161612 + 0.005617 * bf2) * bf2
b5 = 0.2 - (0.16667 - 0.00878 * bf2) * bf2
b = bf - (1 - (b4 - 0.147 * z * z) * z * z) * z * z * b2 * 206264.806247096
L = (1 - (b3 - b5 * z * z) * z * z) * z * 206264.806247096
l1 = L0 * 3600 + L


Debug.Print l1
Debug.Print b
Dim l2, b6, c1, n, a0, a4, a6, a3, a5, x1, y1 As Variant


l2 = (l1 - Val(Text4.Text) * 3600) / 206264.806247096
b6 = b / 206264.806247096

c1 = Cos(b6) * Cos(b6)
n = 6399596.652 - (21565.045 - (108.996 - 0.603 * c1) * c1) * c1
a0 = 32144.5189 - (135.3646 - (0.7034 - 0.0041 * c1) * c1) * c1
a4 = (0.25 + 0.00253 * c1) * c1 - 0.04167
a6 = (0.167 * c1 - 0.083) * c1
a3 = (0.3333333 + 0.001123 * c1) * c1 - 0.1666667
a5 = 0.00878 - (0.1702 - 0.20382 * c1) * c1
x1 = 6367452.1328 * b / 206264.806247096 - (a0 - (0.5 + (a4 + a6 * l2 * l2) * l2 * l2) * l2 * l2 * n) * Cos(b6) * Sin(b6)
y1 = (1 + (a3 + a5 * l2 * l2) * l2 * l2) * l2 * n * Cos(b6)
Debug.Print x
Debug.Print y
Text5.Text = x1
Text6.Text = y1

End Sub

Private Sub Command3_Click()
Dim x, y, L0, b1, c, bf, bf2, bf1, nf, z, b2, b3, b4, b5, b, L, l1 As Variant
'可氏

x = Val(Text1.Text)
y = Val(Text2.Text)
L0 = Val(Text3.Text)

b1 = (x / 6367558.4969)
c = Cos(b1) * Cos(b1)
bf = b1 * 206264.806247096 + (50221746 + (293622 + (2350 + 22 * c) * c) * c) * Sin(b1) * Cos(b1) / 10 ^ (10)

bf1 = bf / 206264.806247096
bf2 = Cos(bf1) * Cos(bf1)

nf = 6399698.902 - (21562.267 - (108.973 - 0.612 * bf2) * bf2) * bf2
z = y / (nf * Cos(bf1))
b2 = (0.5 + 0.003369 * bf2) * Sin(bf1) * Cos(bf1)
b3 = 0.333333 - (0.166667 - 0.001123 * bf2) * bf2
b4 = 0.25 + (0.161612 + 0.00562 * bf2) * bf2
b5 = 0.2 - (0.1667 - 0.0088 * bf2) * bf2
b = bf - (1 - (b4 - 0.12 * z * z) * z * z) * z * z * b2 * 206264.806247096
L = (1 - (b3 - b5 * z * z) * z * z) * z * 206264.806247096
l1 = L0 * 3600 + L


Debug.Print l1
Debug.Print b


Dim l2, b6, c1, n, a0, a4, a6, a3, a5, x1, y1 As Variant

l2 = (l1 - Val(Text4.Text) * 3600) / 206264.806247096
b6 = b / 206264.806247096

c1 = Cos(b6) * Cos(b6)
n = 6399698.902 - (21562.267 - (108.973 - 0.612 * c1) * c1) * c1
a0 = 32140.404 - (135.3302 - (0.7092 - 0.004 * c1) * c1) * c1
a4 = (0.25 + 0.00252 * c1) * c1 - 0.04166
a6 = (0.166 * c1 - 0.084) * c1
a3 = (0.3333333 + 0.001123 * c1) * c1 - 0.1666667
a5 = 0.0083 - (0.1667 - (0.1968 + 0.004 * c1 * c1) * c1 * c1) * c1 * c1
x1 = 6367558.4969 * b / 206264.806247096 - (a0 - (0.5 + (a4 + a6 * l2 * l2) * l2 * l2) * l2 * l2 * n) * Cos(b6) * Sin(b6)
y1 = (1 + (a3 + a5 * l2 * l2) * l2 * l2) * l2 * n * Cos(b6)
Debug.Print x
Debug.Print y
Text5.Text = x1
Text6.Text = y1

End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""

End Sub

Private Sub Command2_Click()
End

End Sub

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
NBA哪一支球队拥有最长时间的连冠
新化县娄底广源超市这个地址怎么能查询到,着
求一首女声的歌名
买特网购,才能享受到打折加优惠券的优惠呢?
道外区哈尔滨中国移动通信(东风专营店)在什么
放弃吧!人总是要丢下某些东西的...哎...
飘雪剑法8在哪爆的
鹿鼎记怎么玩?
寻仙 火法502
梦幻西游LG的怎么加点才是最JP的
汉阳区武汉森林大药房(郭茨口店)哪位知道具体
爱人真的比金钱重要
形容大明宫景色的诗句,形容大明宫的诗词
麻烦那为语文好的大哥翻译一下 什么意思?
除了青鸟还有哪一首歌是生物股长唱的而且是火
推荐资讯
我的网名叫紫莹,个性签名用什么合适?
太阳眼镜分度数吗?知道的告诉
谁帮忙给起个名字?
QQ会员二级是怎么加活跃天数的啊?
袋鼠妈妈有个袋袋,袋袋里面有个乖乖。
“莫道功名需百战”是哪个歌里的句子
QQ现在还有什么内侧游戏可以当推广员
不要卑微的活着句子,人活着没有理想是可怕的
求一篇大学学生会会长竞选的言讲搞
斩魔大圣怎么安装才可以玩?
雷蛇键盘怎么调节背光,摩豹CK104 RGB机械键盘
范围的意思,阅读范围是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?