- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计——陈士城-副本
面向对象程序设计
开发环境:VC++6.0。
主要工作:在测量中会涉及到几种坐标系统的转换,本程序实现了一下几类坐标系的转换(包括:北京-54坐标,国家-80坐标,WGS-84坐标)。
大地坐标与高斯平面坐标的转换。
将大地坐标转为高斯平面坐标,按照高斯投影正算公式进行。将高斯平面坐标转为大地坐标,按照高斯投影反算公式进行。
(1)、由大地坐标求高斯平面坐标:
高斯投影坐标正算公式(由求):
(2)、由高斯平面坐标求大地坐标:
高斯投影坐标反算公式(由求):
大地坐标与空间直角坐标坐标的转换。
(1)、由大地坐标求空间直角坐标:
(2)、由空间直角坐标求大地坐标:
式中,,为该点的卯酉圈曲率半径;,、分别为该大地坐标系对应椭球的长半轴和第一偏心率。
空间直角坐标与空间直角坐标的转换。
应用的是布尔莎公式:
公式存在7个参数:3个平移参数,3个旋转参数,1个尺度变化参数。附1 程序设计界面
附2 主要程序代码
// DlgCoord.cpp : implementation file
/////////////////////////////////////////////////////////////////////////////
BOOL CDlgCoord::OnInitDialog()
{ CDialog::OnInitDialog();
m_comOld.SetCurSel(0); //默认椭球类型
m_comNew.SetCurSel(0);
CWnd* pWnd;
pWnd=GetDlgItem(IDC_COMBO_GEO_T0);
pWnd-ShowWindow(SW_HIDE);
pWnd=GetDlgItem(IDC_COMBO_GEO_T1);
pWnd-ShowWindow(SW_HIDE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgCoord::OnRadioGeoOld() //源 大地坐标
{ CWnd* pWnd;
pWnd=GetDlgItem(IDC_COMBO_GEO_T0);
pWnd-ShowWindow(SW_SHOW);
m_comGeoOld.SetCurSel(0);
m_strX0=; //置0 m_strY0=; m_strH0=;
pWnd=GetDlgItem(IDC_STATIC_X0);//标签标题改变
pWnd-SetWindowText(B=);
pWnd=GetDlgItem(IDC_STATIC_Y0);
pWnd-SetWindowText(L=);
pWnd=GetDlgItem(IDC_STATIC_H0);
pWnd-SetWindowText(H=);
}
…… 其余几个单选按钮类似
void CDlgCoord::OnButtonCoordOk() //坐标转换 按钮
{
UpdateData();
//高斯正算 大地-平面
if(m_CoordTypeOld==1m_CoordTypeNew==2)
{
if(m_strX0.GetLength()==0||m_strY0.GetLength()==0)
{AfxMessageBox(请输入数据!);m_ctrX0.SetFocus();}
else GaussForward();
}
//高斯反算 平面-大地 ……
//大地坐标-空间直角坐标 ……
//空间直角坐标-大地坐标 ……
//空间直角坐标-空间直角坐标 ……
}
void CDlgCoord::GaussForward()//高斯正算
{
UpdateData();
double B,Bbak,L,l,ll,L0,x,y,cos2B,p2; double N,a0,a4,a6,a3,a5;
p2=206264.806247; B=stod(m_strX0); // 化为 秒
L=stod(m_strY0); //化为 秒
Bbak=B; //备份B B=B/p2; //化为弧度值
L0=stod(g_center);//获得中央子午线
// AfxMessageBox(g_center);
l=L-L0; //化为 秒 l=l/p2;//化为弧度 ll=l*l; //l相乘
cos2B=cos(B)*cos(B);
//国家-80 大地坐标
您可能关注的文档
最近下载
- 《社会历史的决定性基础》-高二语文(统编版选必中册).pptx VIP
- T_ZNZ 021—2020_水稻对稻曲病抗性鉴定技术规程.pdf VIP
- 人教版(2024新版)九年级上册化学全册教案教学设计.docx
- EN 60584-1-2013热电偶 — 第 1 部分:EMF 规格和公差(中文版).doc VIP
- 留下一点冬天绘本.pptx VIP
- 文化维度理论.pptx VIP
- 三星电子招聘简章_2.doc VIP
- TOEFL核心词汇21天突破中文翻译.xlsx VIP
- 自然生长的红色古镇:巴中恩阳历史文化名镇空间解析.pdf VIP
- 贵州地方课程新教材多彩贵州多彩人生三年级上册全册教案.docx
原创力文档


文档评论(0)