大地高斯正反算-C#.doc_第1页
大地高斯正反算-C#.doc_第2页
大地高斯正反算-C#.doc_第3页
大地高斯正反算-C#.doc_第4页
大地高斯正反算-C#.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 大地高斯正反算-C# 代码如下using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication3 public partial class Form1 : Form double a, E,E1,bbb; public Form1() InitializeComponent(); private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) private void toolStripTextBox1_Click(object sender, EventArgs e) private void toolStripMenuItem1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) if (a != 6378245.00 & a != 6378137 & a != 6378137 & a!=6378140) textBox3.Text = 请?选?择?坐?标括?系; textBox4.Text = 请?选?择?坐?标括?系; else int du, fen, miao; double B, L, X; double N, x, y, t, n, m, m0, m2, m4, m6, m8,l; B = Convert.ToDouble(textBox1.Text) * Math.PI / 180 + Convert.ToDouble(textBox2.Text)/60 * Math.PI / 180 + Convert.ToDouble(textBox9.Text)/3600 * Math.PI / 180; L = Convert.ToDouble(textBox10.Text) * Math.PI / 180 + Convert.ToDouble(textBox11.Text)/60 * Math.PI / 180 + Convert.ToDouble(textBox12.Text)/3600 * Math.PI / 180; ; l = L - Convert.ToInt16(L-3.0) / 6) * 6-3.0 ; l = l * Math.PI / 180; N = a / Math.Pow(1 - E * Math.Sin(B) * Math.Sin(B), 0.5); m0 = a * (1 - E); m2 = 1.5 * E * m0; m4 = 5 / 4 * E * m2; m6 = 7 / 6 * E * m4; m8 = 9 / 8 * E * m6; X = (m0 + 0.5 * m2 + 3 / 8 * m4 + 5 / 16 * m6 + 35 / 128 * m8) * B - (0.5 * m2 + 0.5 * m4 + 15 / 32 * m6 + 7 / 16 * m8) / 2 * Math.Sin(2 * B) + (m4 / 8 + 3 / 16 * m6 + 7 / 32 * m8) / 4 * Math.Sin(4 * B) - (m6 / 32 + m8 / 16) / 6 * Math.Sin(6 * B) + m8 / 128 / 8 * Math.Sin(8 * B); t = Math.Tan(B); n = Math.Cos(B) * Math.Cos(B) * E1; m = Math.Cos(B) * l; x = X + N / 2 * t * Math.Cos(B) * Math.Cos(B) * l * l + N / 24 * t * (5 - t * t + 9 * n + 4 * n * n) * Math.Pow(Math.Cos(B) * l, 4) + N / 720 * t * (61 - 58 * t * t + t * t * t * t) * Math.Pow(Math.Cos(B) * l, 6); y = N * (1 + (1 / 6 * (1 - t * t + n) + 1 / 120 * (5 - 18 * t * t + t * t * t * t + 14 * n - 58 * n * t * t) * m * m) * m * m) * m); textBox3.Text = Convert.ToString(x); textBox4.Text = Convert.ToString(y); private void button2_Click(object sender, EventArgs e) int du, fen, miao; if (a != 6378245.00 & a != 6378137 & a != 6378137 & a != 6378140) textBox7.Text = 请?选?择?坐?标括?系; textBox8.Text = 请?选?择?坐?标括?系; else double Bf, bb, Vf, tf, xf, yf, nf, Nf, B0, l0; xf = Convert.ToDouble(textBox5.Text); yf = Convert.ToDouble(textBox6.Text); bb = xf / bbb; Bf = bb + (50221746 + (293622 + (2350 + 22 * Math.Cos(bb) * Math.Cos(bb) * Math.Cos(bb) * Math.Cos(bb) * Math.Cos(bb) * Math.Cos(bb) * Math.Sin(bb) * Math.Cos(bb) * Math.Pow(10, -10); tf = Math.Tan(Bf); nf = Math.Cos(Bf) * Math.Cos(Bf) * E1; Vf = Math.Pow(1 + E1, 0.5); Nf = a / Math.Pow(1 - E * Math.Sin(Bf) * Math.Sin(Bf), 0.5); B0 = Bf * 180 / Math.PI - 0.5 * Vf * Vf * tf * (yf * yf / Nf / Nf - 1 / 12.00 * (5 + 3 * tf * tf + nf - 9 * nf * tf * tf) * Math.Pow(yf / Nf, 4) + 1 / 360.00 * (61 + 90 * tf * tf + 45 * tf * tf) * Math.Pow(yf / Nf, 6) * 180 / Math.PI; l0 = 1 / Math.Cos(Bf) * (yf / Nf - 1 / 6 * (1 + 2 * tf * tf + nf) * Math.Pow(yf / Nf, 3) + 1 / 120 * (5 + 28 * tf * tf + 24 * tf * tf + 6 * nf + 8 * nf * tf * tf) * Math.Pow(yf / Nf, 5) * 180 / Math.PI; du = Convert.ToInt16( Math.Floor(B0);/du fen = Convert.ToInt16( Math.Floor(B0 - Math.Floor(B0) * 60); /fen miao = Convert.ToInt16( Convert.ToInt16( ( (B0 - Math.Floor(B0) * 60 - Math.Floor(B0 - Math.Floor(B0)* 60) ) * 60);/秒? textBox7.Text = Convert.ToString(du) + 度 + Convert.ToString(fen)+分?+Convert.ToString(miao)+秒?; du = Convert.ToInt16(Math.Floor(l0);/du fen = Convert.ToInt16(Math.Floor(l0 - Math.Floor(l0) * 60); /fen miao = Convert.ToInt16(Convert.ToInt16(l0 - Math.Floor(l0) * 60 - Math.Floor(l0 - Math.Floor(l0) * 60) * 60);/秒? textBox8.Text = Convert.ToString(du) + 度 + Convert.ToString(fen) + 分? + Convert.ToString(miao) + 秒?; private void toolStripMenuItem2_Click(object sender, EventArgs e) a = 6378245; E = 0.00693421622966; E1 = 0.006738525414683; bbb = 6367588.4969; private void toolStripMenuItem3_Click(object sender, EventArgs e) a = 6378137; E = 0.0669438002290; E1 = 0.00673949677548; bbb = 6367452.133; private void toolStripMenuItem4_Click(object sender, EventArgs e) a = 6378137; E = 0.0069437999013; E1 = 0.00673949674227; bbb = 6367452.133;/待鋣定 private voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论