




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高斯投影坐标正反算高斯投影坐标正反算学 院: 班 级: 学 号: 姓 名: 课程名称: 指导老师: 实验目的:1.了解高斯投影坐标正反算的基本思想;2.学会编写高斯正反算程序,加深了解。实验原理:高斯投影正算公式中应满足的三个条件:1. 中央子午线投影后为直线;2. 中央子午线投影后长度不变;3. 投影具有正形性质,即正形投影条件。高斯投影反算公式中应满足的三个条件:1. x坐标轴投影成中央子午线,是投影的对称轴;2. x轴上的长度投影保持不变;3. 正形投影条件,即高斯面上的角度投影到椭球面上后角度没有变形,仍然相等。操作工具:计算机中的VB6.0代码:Dim a As Double, b
2、As Double, x As Double, y As Double, y_#Dim l_ As Double, b_ As Double, a0#, a2#, a4#, a6#, a8#, m2#, m4#, m6#, m8#, m0#, l0#, e#, e1#Dim deg1 As Double, min1 As Double, sec1 As Double, deg2 As Double, min2 As Double, sec2 As DoublePrivate Sub Command1_Click()Dim x_ As Double, t#, eta#, N#, W#, k1#,
3、 k2#, ik1%, ik2%, dh%deg1 = Val(Text1.Text)min1 = Val(Text2.Text)sec1 = Val(Text3.Text)deg2 = Val(Text4.Text)min2 = Val(Text5.Text)sec2 = Val(Text6.Text)l_ = (deg1 * 3600 + min1 * 60 + sec1) / 206265b_ = (deg2 * 3600 + min2 * 60 + sec2) / 206265dh = Val(Text9.Text)k1 = (l_ * 180 / 3.14159 + 3) / 6)k
4、2 = (l_ * 180 / 3.14159 / 3)ik1 = Round(k1, 0)ik2 = Round(k2, 0)If dh = 6 Thenl0 = 6 * ik1 - 3ElseIf dh = 3 Thenl0 = 3 * ik2ElseMsgBox "error", 48, "error": Exit SubEnd IfEnd Ifl = l_ - l0 * 3.14159 / 180e = Sqr(a * a - b * b) / am0 = a * (1 - e * e)m2 = e * e * m0 * 3 / 2m4 = e
5、* e * m2 * 5 / 4m6 = m4 * e * e * 7 / 6m8 = e * e * m6 * 9 / 8a0 = m0 + m2 / 2 + m4 * 3 / 8 + m6 * 5 / 16 + m8 * 35 / 128a2 = m2 / 2 + m4 / 2 + m6 * 15 / 32 + m8 * 7 / 16a4 = m4 / 8 + m6 * 3 / 16 + m8 * 7 / 32a6 = m6 / 32 + m8 / 16a8 = m8 / 128x_ = a0 * b_ - a2 * Sin(2 * b_) / 2 + a4 * Sin(4 * b_) /
6、 4 - Sin(6 * b_) * a6 / 6 + Sin(8 * b_) * a8 / 8t = Tan(b_)e1 = Sqr(a * a - b * b) / (b * b)eta = Sqr(e1 * e1 * Cos(b) * Cos(b)W = Sqr(1 - e * e * Sin(b_) * Sin(b_)N = a / Wx = x_ + N * Sin(b_) * Cos(b_) * l * l / 2 + N * Sin(b_) * Cos(b_) 3 * (5 - t * t + 9 * eta * eta + 4 * eta 4) * l 4 / 24 + N *
7、 Sin(b_) * Cos(b_) 5 * (61 - 58 * t * t + t 4) * l 6 / 720y = N * Cos(b_) * l + N * Cos(b_) 3 * (1 - t * t + eta * eta) * l * l * l / 6 + N * Cos(b_) 5 * (5 - 18 * t * t + t 4 + 14 * eta * eta - 58 * eta * eta * t * t) * l 5 / 120Text7 = xIf dh = 6 Theny_ = y + 500000 + 1000000 * ik1ElseIf dh = 3 Th
8、eny_ = y + 500000 + 1000000 * ik2ElseMsgBox "error", 48, "error": Exit SubEnd IfEnd IfText8 = y_End SubPrivate Sub Command2_Click()Dim bf#, j%, Wf#, Vf#, Nf#, Mf#, c#, tf#, etaf#, dh%, ik%x = Val(Text7.Text)y_ = Val(Text8.Text)e = Sqr(a * a - b * b) / (a * a) m0 = a * (1 - e * e)
9、 m2 = e * e * m0 * 3 / 2 m4 = e * e * m2 * 5 / 4 m6 = m4 * e * e * 7 / 6 m8 = e * e * m6 * 9 / 8 a0 = m0 + m2 / 2 + m4 * 3 / 8 + m6 * 5 / 16 + m8 * 35 / 128 a2 = m2 / 2 + m4 / 2 + m6 * 15 / 32 + m8 * 7 / 16 a4 = m4 / 8 + m6 * 3 / 16 + m8 * 7 / 32 a6 = m6 / 32 + m8 / 16 a8 = m8 / 128 bf = x / a0 For
10、j = 1 To 10 bf = (x + a2 / 2 * Sin(2 * bf) - a4 * Sin(4 * bf) / 4 + a6 * Sin(6 * bf) / 6 - a8 * Sin(8 * bf) / 8) / a0 Next j e1 = Sqr(a * a - b * b) / b Vf = Sqr(1 + e1 * e1 * Cos(bf) * Cos(bf) Wf = Sqr(1 - e * e * Sin(bf) * Sin(bf) Nf = a / Wf c = a * a / b Mf = c / Vf 3 tf = Tan(bf) e1 = Sqr(a * a
11、 - b * b) / (b * b) etaf = Sqr(e1 * e1 * Cos(bf) * Cos(bf) ik = Int(y_ / 1000000) y = y_ - ik * 1000000 - 500000 b_ = bf - tf * y * y / (2 * Mf * Nf) + tf * (5 + 3 * tf * tf + etaf * etaf - 9 * etaf * etaf * tf * tf) * y * y * y * y / (24 * Mf * Nf * Nf * Nf) + tf * (61 + 90 * tf * tf + 45 * tf * tf
12、 * tf * tf) * y * y * y * y * y * y / (720 * Mf * Nf * Nf * Nf * Nf * Nf) l = y / (Nf * Cos(bf) - (1 + 2 * tf * tf + etaf * etaf) * y * y * y / (6 * Nf * Nf * Nf * Cos(bf) + (5 + 28 * tf * tf + 24 * tf * tf * tf * tf + 6 * etaf * etaf + 8 * etaf * etaf * tf * tf) * y * y * y * y * y / (120 * Nf * Nf
13、 * Nf * Nf * Nf * Cos(bf)dh = Val(Text9.Text)If dh = 6 Thenl0 = 6 * ik - 3ElseIf dh = 3 Thenl0 = 3 * ikElseMsgBox "error", 48, "error": Exit SubEnd IfEnd Ifl_ = l0 * 3.14159 / 180 + lsec1 = l_ * 206265 deg1 = Int(sec1 / 3600) min1 = Int(sec1 - deg1 * 3600) / 60) sec1 = sec1 - deg
14、1 * 3600 - min1 * 60 sec2 = b_ * 206265 deg2 = Int(sec2 / 3600) min2 = Int(sec2 - deg2 * 3600) / 60) sec2 = sec2 - deg2 * 3600 - min2 * 60 Text1 = deg1 Text2 = min1 Text3 = Round(sec1, 5) Text4 = deg2 Text5 = min2 Text6 = Round(sec2, 5)End SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Command
15、4_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""End SubPrivate Sub Option1_Click()a = 6378245b = 6356863.01877305End SubPrivate Sub Option2_Click()a = 6378140b = 6356755.28815753End SubPrivate Sub Option3_Click()a = 6378137b = 6356752.3142End SubPrivate Sub Option4_Click()a = 6378137b = 6356752.3141End SubPrivate Sub Option5_Click()a = Val(InputBox("a", &q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 相机生产流程与质量控制考核试卷
- 探索共享汽车之路
- 嘉兴市重点中学2025届高三第八次模拟考试英语试题含解析
- 山东省兖州市第一中学2024-2025学年高三下开学检测试题语文试题含解析
- 四川省乐山市重点名校2024-2025学年新初三下开学适应性考试语文试题试卷含解析
- 辽宁省阜新实验中学2025届初三下学期质量调查(一)化学试题含解析
- 四川省简阳市养马区市级名校2025届初三二模突破冲刺生物试题(一)含解析
- 南阳市西峡县2024-2025学年数学四下期末检测模拟试题含解析
- 济南工程职业技术学院《唱腔》2023-2024学年第一学期期末试卷
- 山东旅游职业学院《针灸推拿基本功训练》2023-2024学年第一学期期末试卷
- 软装清洗行业分析
- 2000-2015年考研英语一真题及详细解析
- 2023年全国统一高考语文试卷(甲卷)
- 20以内加减法口算题(10000道)(A4直接打印-每页100题)
- 2018大截面导线压接工艺导则
- 量子计算与量子信息简介
- 通达信笔均量柱状图指标公式
- 【S】幼儿绘本故事《三只小猪》课件
- 【教师共享】《羽毛球》教学评价及评价建议
- 乐高EV3初级课程课件 - 仿生蜘蛛
- DB13-T 5742-2023醇基燃料使用安全规范
评论
0/150
提交评论