namespace 大地测量学2
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){double ρ = 206264.806247096355, a = 6378245, b = 6356863.0187730473, c = 6399698.9017827110, α = 1 / 298.3, e2 = 0.006693421622966, e3 = 0.006738525414683;//先BLA是角度,BmLmAm是弧度直接进行运算,可以直接进行三角函数运算,感觉在最上边声明MATH后就不用再一个一个的代用double B = 51.0 + 38.0 / 60.0 + 43.9023 / 3600.0, L = 111.0 + 2.0 / 60.0 + 13.136 / 3600.0;//角度B = B / 180 * Math.PI;L = L / 180 * Math.PI;//弧度double W = Math.Sqrt(1 - e2 * Math.Sin(B) * Math.Sin(B));double V = Math.Sqrt(1 +e3 * Math.Cos(B) * Math.Cos(B));// double N = a / W;double M = a * (1 - e2) / (W * W * W);double t = Math.Tan(B);double η = e3 * Math.Cos(B);B = 51.0 + 38.0 / 60.0 + 43.9023 / 3600.0;L = 111 + 2.0 / 60.0+ 13.136 / 3600;//重新化为角度 B= 51.012195083333332int n6,n3;n6 = (int)(L / 6) + 1;//投影带编号19n3 = (int)(L / 3 + 0.5);double L06 = 6 * n6 - 3;//L06即使这样存在,是否有需要强制转换 此时为111double l2 = L - L06;//此时是角度double zc = 2 * Math.PI * b + 4 * (a - b);//椭圆的周长40026876.244215891double X6=zc/60/2*(2*(n6-1)+1);//12341620.1752999B = B / 180 * Math.PI;L = L / 180 * Math.PI;//弧度l2 = l2 / 180 * Math.PI;//没卵用//double x = X6 + N / 2 / ρ / ρ * Math.Sin(B) * Math.Cos(B) * l2 * l2 + N / 24 / ρ / ρ / ρ / ρ * Math.Sin(B) * Math.Cos(B) * Math.Cos(B) * Math.Cos(B) * (5 - t * t + 9 * η * η + 4 * η * η * η * η)*l2*l2//  * l2 * l2 + N / 720 / ρ / ρ / ρ / ρ / ρ / ρ * Math.Sin(B) * Math.Cos(B) * Math.Cos(B) * Math.Cos(B) * Math.Cos(B) * Math.Cos(B) * (61 - 58 * t * t + t * t * t * t) * l2 * l2 * l2 * l2 * l2 * l2;//double y = N / ρ * Math.Cos(B) * l2 + N / 6 / ρ / ρ / ρ * Math.Cos(B) * Math.Cos(B) * Math.Cos(B) * (1 - t * t + η * η) * l2 * l2 * l2 + N / 120 / ρ / ρ / ρ / ρ / ρ * Math.Cos(B) * Math.Cos(B)//* Math.Cos(B) * Math.Cos(B) * Math.Cos(B) * (5 - 18 * t * t + t * t * t * t + 14 * η * η - 58 * η * η * t * t) * l2 * l2 * l2 * l2 * l2;double N=6399698.902-(21562.267-(108.973-0.62*Math.Cos(B) * Math.Cos(B)) * Math.Cos(B)* Math.Cos(B)) * Math.Cos(B)* Math.Cos(B) ;double B2=(51.0 + 38.0 / 60.0 + 43.9023 / 3600.0)*3600;//这个为秒的格式double a0 = (32140.404 - (135.3302 - (0.7092 - 0.004 * Math.Cos(B) * Math.Cos(B)) * Math.Cos(B) * Math.Cos(B)) * Math.Cos(B) * Math.Cos(B))/*a0*/;double a4 = (0.25 + 0.00252 * Math.Cos(B) * Math.Cos(B)) * Math.Cos(B) * Math.Cos(B) - 0.04166;double a6 = (0.166*Math.Cos(B) * Math.Cos(B) - 0.084) * Math.Cos(B) * Math.Cos(B);double a3 = (0.3333333 + 0.001123 * Math.Cos(B) * Math.Cos(B)) * Math.Cos(B) * Math.Cos(B) - 0.1666667;double a5 = 0.0083 - (0.1667 - (0.1968 + 0.004 * Math.Cos(B) * Math.Cos(B)) * Math.Cos(B) * Math.Cos(B)) * Math.Cos(B) * Math.Cos(B);double L0 = 6 * 19 - 3;//已知带号为19double l = L + L0;//角度l=l*3600/ρ;double x=6367558.4969*B2/ρ-(a0-(0.5+(a4+a6*l*l)*l*l)*l*l*N)*Math.Sin (B)*Math .Cos (B);double y = (1 + (a3 + a5 * l * l) * l * l) * N * l * Math.Cos(B);Console.WriteLine("{0} {1} ", x, y);textBox1.Text = Convert.ToString(x);textBox2.Text = Convert.ToString(y);}private void button2_Click(object sender, EventArgs e){textBox1.Text = "";textBox2.Text = "";}private void groupBox1_Enter(object sender, EventArgs e){}private void button3_Click(object sender, EventArgs e){double ρ = 206264.806247096355,a = 6378245, b = 6356863.0187730473, c = 6399698.9017827110, α = 1 / 298.3, e2 = 0.006693421622966, e3 = 0.006738525414683;//先BLA是角度,BmLmAm是弧度直接进行运算,可以直接进行三角函数运算,感觉在最上边声明MATH后就不用再一个一个的代用//计算子午面的弧长double Round = 2 * Math.PI * b + 4 * (a - b);double X=5724004.82211011;double Y=502559.918404555;//以度°为单位的bfdouble Bf = 27.11115372595 + 9.02468257083 * (X / 1000000 - 3) - 0.00579740442 * (X / 1000000 - 3) * (X / 1000000 - 3) - 0.00043532572 * (X / 1000000 - 3) * (X / 1000000 - 3) * (X / 1000000 - 3) + 0.00004857285 * (X / 1000000 - 3) * (X / 1000000 - 3) * (X / 1000000 - 3) * (X / 1000000 - 3);double W = Math.Sqrt(1 - e2 * Math.Sin(Bf) * Math.Sin(Bf));double V = Math.Sqrt(1 + e3 * Math.Cos(Bf) * Math.Cos(Bf));double N = a / W;double M = a * (1 - e2) / (W * W * W);double t = Math.Tan(Bf);double η = e3 * Math.Cos(Bf);double B = Bf - t / 2 / M / N * Y * Y + t / 24 / M / N / N / N * (5 + 3 * t * t + η * η - 9 * η * η * t * t) * Y * Y * Y * Y;Bf=Bf/180*Math .PI;double l = 1 / N / Math.Cos(Bf) * Y - 1 / 6 / N / N / N / Math.Cos(Bf) * (1 + 2 * t * t + η * η) * Y * Y * Y + 1 / 120 / N / N / N / N / N / Math.Cos(Bf) * (5 + 28 * t * t + 24 * t * t * t * t) * Y * Y * Y * Y * Y;double L0 = 6 * 19 - 3;//已知带号为19double y = Y - N - 500000;double L = L0 + l;//角度double D=(int)(L);double F=(int)((L-(int)(L))*60);double MM=(L-D-F/60)*3600;textBox3.Text = Convert.ToString(B);textBox4.Text = Convert.ToString(L);Console.WriteLine("{0} {1} {2}", D, F, MM);//111° 7分 35.6402392184452秒}private void button4_Click(object sender, EventArgs e){textBox3.Text = "";textBox4.Text = "";}}
}


实验截图如上,在这里为了简单只用了一个固定数据,界面好不人性化。。。需要的读者可以自己改换为相应的数据,需要完整程序的可以联系我。
感谢阅读

大地测量学高斯投影正反算相关推荐

  1. C# 大地测量高斯投影正反算公式计算程序

    C# 大地测量高斯投影正反算公式程序 C# 大地测量高斯投影正反算公式计算程序 一.编程作业要求: 编写能够进行高斯投影正反算公式计算的程序. 二.实验效果: 三.部分代码实现 1.选择界面 usin ...

  2. matlab高斯正反算程序6,基于matlab的高斯投影正反算与相邻带坐标换算程序设计...

    第 卷 第 期 在 月 中 国 水 运 基于 的高斯投影正反算与相邻带坐标换 算程 序设计 徐 翰 ,周 强 波 (核 工 业 二 三 研 究所 ,湖 南 长 沙 ) 摘 要 :地 图投影方法众多 , ...

  3. 高斯投影正反算C语言程序代码,高斯投影正反算c代码

    <高斯投影正反算c代码>由会员分享,可在线阅读,更多相关<高斯投影正反算c代码(11页珍藏版)>请在人人文库网上搜索. 1.高斯投影正反算程序设计一程序设计流程本程序的设计思路 ...

  4. 高斯投影正反算C语言程序代码,一个老师给的高斯投影正反算c++源码.doc

    一个老师给的高斯投影正反算c源码 //高斯投影正.反算 //6度带宽?? 54年北京坐标系 //高斯投影由经纬度 Unit:DD 反算大地坐标 含带号,Unit:Metres void GaussPr ...

  5. matlab高斯投影坐标,基于matlab的高斯投影正反算与相邻带坐标换算程序设计

    第 15 卷 第 2 期 中 国 水 运 Vol.15 No.2 2015 年 2 月 China Water Transport February 2015 收稿日期:2014-01-15 作者简介 ...

  6. 高斯投影正反算的代码

    2008-05-28 16:03:29 | 高斯投影正反算的代码   //高斯投影正.反算 //6度带宽 54年北京坐标系 //高斯投影由经纬度(UnitD)反算大地坐标(含带号,Unit:Metre ...

  7. GPS定位(五)-高斯投影正反算C程序

    基本思想 斯投影正算公式就是由大地坐标(L,B)求解高斯平面坐标(x,y),而高斯投影反算公式则是由高斯平面坐标(x,y)求解大地坐标(L,B). 计算模型 高斯投影正算 这里输入的经纬度应该转化为度 ...

  8. 高斯投影正反算C语言程序代码,高斯投影正反算-对网络上面流行的C代码的修改(已正确运行)...

    // GaussBL2xy.cpp : Defines the entry point for the console application. // #include "stdafx.h& ...

  9. 高斯投影正反算C语言程序代码,高斯投影正反算 源程序

    #include "stdafx.h" #include "iostream.h" #include "math.h" #include & ...

最新文章

  1. 软件测试-培训的套路-log3
  2. tcpdump保存数据包
  3. java float内存结构_Java后端开发岗必备技能:Java并发中的内存模型
  4. DPDK — EAL 环境抽象层
  5. php的div和p的区别,p标签与div标签区别
  6. 使用openstack构建私有云计算平台
  7. 与Web集成——《跟我学Shiro》
  8. python selenium 处理弹窗_python中能否使用selenium获取弹窗的文本内容?
  9. python爬虫开发 从入门到实战_python网络爬虫从入门到实战开发
  10. Hadoop+Spark 集群部署
  11. python3解释器安装过程 2022
  12. cpu飙升_为什么Go的人气飙升
  13. UBUNTU修改控制台语言
  14. pillow模块 (PIL) 生成验证码
  15. opencv自然背景下交通标志形状分类c++代码_前端革命时刻:前端代码是怎样智能生成的-图像分离篇
  16. PMP_考前冲刺题(2022)(3A通过分享)(180题附答案及解析)
  17. Java中Word转PDF解决方案
  18. openGL天空盒实现-立方体贴图
  19. doom3关卡编辑器代码的一些分析
  20. 华为HCNA技术配置小型公司网络

热门文章

  1. 基于SSM的药店管理系统
  2. SoundPool类简介与适用场合
  3. 《Python编程:从入门到实践》第16章 pygal.i18n获取国别码 两处报错:ImportError: No module named 'pygal.i18n'
  4. IntelliJ IDEA旗舰版 下载安装
  5. 12.郝斌C语言笔记——枚举
  6. LINGO的入门介绍
  7. aes解密流程图_aes流程图
  8. 【选择恐惧症】接口?虚基类?
  9. VC++获取病毒的消息钩子
  10. 什么情况让程序员处于水生火热中