为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

高斯正反算实验报告

2019-08-23 10页 doc 25KB 61阅读

用户头像

is_435706

暂无简介

举报
高斯正反算实验报告实  验  报  告 高 斯 正 反 算 姓    名:        张杰            学    号:        20104157        班    级:        测绘10-1班    指导老师:          陶庭叶        目录 一、实 验 目 的-----------------2 二、实 验 内 容 及 步 骤--------2 三、程 序 代 码-----------------4 四、流 程 图--------------------24 五、运 算 结 果-----...
高斯正反算实验报告
实  验  报  告 高 斯 正 反 算 姓    名:        张杰            学    号:        20104157        班    级:        测绘10-1班    指导老师:          陶庭叶        目录 一、实 验 目 的-----------------2 二、实 验 内 容 及 步 骤--------2 三、程 序 代 码-----------------4 四、流 程 图--------------------24 五、运 算 结 果-----------------26 六、实 验 感 想-----------------29 一、实验目的 1、了解高斯正反算的基本思想。 2.学会编写高斯正反算程序,加深理解。 二、实验及步骤 高斯投影正算公式是由大地坐标(L,B)求解高斯平面坐标(x,y),而高斯投影反算公式则是由高斯平面坐标(x,y)求解大地坐标(L,B)。现行的高斯投影用表都是采用克拉索夫斯基椭球参数,这次编程计算不仅采用这种椭球参数,还可以选择IAG椭球进行计算。      编程环境是在VC下,采用C++语言编写。程序主要分为两部分,第一部分是高斯正反算函数,第二部分是主函数。 三、程序代码 1.高斯投影正算 // mydlg1.cpp : implementation file #include "stdafx.h" #include "高斯正反算.h" #include "mydlg1.h" #include"math.h" #define P 206264.8062471 #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif Cmydlg1::Cmydlg1(CWnd* pParent /*=NULL*/) : CDialog(Cmydlg1::IDD, pParent) { //{{AFX_DATA_INIT(Cmydlg1) m_num1 = 0; m_num2 = 0; m_num3 = 0.0; m_num4 = 0; m_num5 = 0; m_num6 = 0.0; m_num7 = 0; m_num8 = 0.0; m_num9 = 0.0; //}}AFX_DATA_INIT } void Cmydlg1::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(Cmydlg1) DDX_Text(pDX, IDC_EDIT1, m_num1); DDX_Text(pDX, IDC_EDIT2, m_num2); DDX_Text(pDX, IDC_EDIT3, m_num3); DDX_Text(pDX, IDC_EDIT4, m_num4); DDX_Text(pDX, IDC_EDIT5, m_num5); DDX_Text(pDX, IDC_EDIT6, m_num6); DDX_Text(pDX, IDC_EDIT7, m_num7); DDX_Text(pDX, IDC_EDIT8, m_num8); DDX_Text(pDX, IDC_EDIT9, m_num9); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(Cmydlg1, CDialog) //{{AFX_MSG_MAP(Cmydlg1) ON_BN_CLICKED(IDC_RADIO1, OnRadio1) ON_BN_CLICKED(IDC_RADIO2, OnRadio2) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // Cmydlg1 message handlers void Cmydlg1::OnRadio1() { // TODO: Add your control notification handler code here } void Cmydlg1::OnRadio2() { // TODO: Add your control notification handler code here } void Cmydlg1::OnButton2() { // TODO: Add your control notification handler code here CEdit* pedt1 = (CEdit*)GetDlgItem(IDC_EDIT1); pedt1->SetWindowText(""); CEdit* pedt2 = (CEdit*)GetDlgItem(IDC_EDIT2); pedt2->SetWindowText(""); CEdit* pedt3 = (CEdit*)GetDlgItem(IDC_EDIT3); pedt3->SetWindowText(""); CEdit* pedt4 = (CEdit*)GetDlgItem(IDC_EDIT4); pedt4->SetWindowText(""); CEdit* pedt5= (CEdit*)GetDlgItem(IDC_EDIT5); pedt5->SetWindowText(""); CEdit* pedt6 = (CEdit*)GetDlgItem(IDC_EDIT6); pedt6->SetWindowText("");    CEdit* pedt7 = (CEdit*)GetDlgItem(IDC_EDIT7); pedt7->SetWindowText(""); CEdit* pedt8 = (CEdit*)GetDlgItem(IDC_EDIT8); pedt8->SetWindowText(""); CEdit* pedt9 = (CEdit*)GetDlgItem(IDC_EDIT9); pedt9->SetWindowText(""); } void Cmydlg1::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel(); } void Cmydlg1::OnButton1() { // TODO: Add your control notification handler code here double N,a0,a3,a4,a5,a6,B,L,l,x,y; UpdateData(); B=m_num1*3600+m_num2*60+m_num3; L=m_num4*3600+m_num5*60+m_num6; B=B/P; l=(L-m_num7*3600)/P; N=6399698.902-(21562.267-(108.973-0.612*cos(B)*cos(B))*cos(B)*cos(B))*cos(B)*cos(B); a0=32140.404-(135.3302-(0.7092-0.0040*cos(B)*cos(B))*cos(B)*cos(B))*cos(B)*cos(B); a4=(0.25+0.00252*cos(B)*cos(B))*cos(B)*cos(B)-0.04166; a6=(0.166*cos(B)*cos(B)-0.084)*cos(B)*cos(B); a3=(0.3333333+0.001123*cos(B)*cos(B))*cos(B)*cos(B)-0.1666667; a5=0.0083-(0.1667-(0.1968+0.0040*cos(B)*cos(B))*cos(B)*cos(B))*cos(B)*cos(B); x=6367558.4969*B-(a0-(0.5+(a4+a6*l*l)*l*l)*l*l*N)*sin(B)*cos(B); y=(1+(a3+a5*l*l)*l*l)*l*N*cos(B); m_num8=x; m_num9=y; UpdateData(FALSE); } void Cmydlg1::OnButton3() { // TODO: Add your control notification handler code here double N,a0,a3,a4,a5,a6,B,L,l,x,y; UpdateData(); B=m_num1*3600+m_num2*60+m_num3; L=m_num4*3600+m_num5*60+m_num6; B=B/P; l=(L-m_num7*3600)/P; N=6399596.652-(21565.045-(108.996-0.603*cos(B)*cos(B))*cos(B)*cos(B))*cos(B)*cos(B); a0=32144.5189-(135.3646-(0.7034-0.0041*cos(B)*cos(B))*cos(B)*cos(B))*cos(B)*cos(B); a4=(0.25+0.00253*cos(B)*cos(B))*cos(B)*cos(B)-0.04167; a6=(0.167*cos(B)*cos(B)-0.083)*cos(B)*cos(B);
/
本文档为【高斯正反算实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索