📄 wgs84pz90.cpp
字号:
// Wgs84Pz90.cpp : implementation file
//
#include "stdafx.h"
#include "satcoord.h"
#include "Wgs84Pz90.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CWgs84Pz90 dialog
CWgs84Pz90::CWgs84Pz90(CWnd* pParent /*=NULL*/)
: CDialog(CWgs84Pz90::IDD, pParent)
{
//{{AFX_DATA_INIT(CWgs84Pz90)
m_pbdu = 0;
m_pbfen = 0.0;
m_ph = 0.0;
m_pldu = 0;
m_plfen = 0.0;
m_px = 0.0;
m_py = 0.0;
m_pz = 0.0;
m_wbdu = 0;
m_wbfen = 0.0;
m_wh = 0.0;
m_wldu = 0;
m_wlfen = 0.0;
m_wx = 0.0;
m_wy = 0.0;
m_wz = 0.0;
//}}AFX_DATA_INIT
}
void CWgs84Pz90::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CWgs84Pz90)
DDX_Text(pDX, IDC_WGS_PZ_PBDU, m_pbdu);
DDX_Text(pDX, IDC_WGS_PZ_PBFEN, m_pbfen);
DDX_Text(pDX, IDC_WGS_PZ_PH, m_ph);
DDX_Text(pDX, IDC_WGS_PZ_PLDU, m_pldu);
DDX_Text(pDX, IDC_WGS_PZ_PLFEN, m_plfen);
DDX_Text(pDX, IDC_WGS_PZ_PX, m_px);
DDX_Text(pDX, IDC_WGS_PZ_PY, m_py);
DDX_Text(pDX, IDC_WGS_PZ_PZ, m_pz);
DDX_Text(pDX, IDC_WGS_PZ_WBDU, m_wbdu);
DDX_Text(pDX, IDC_WGS_PZ_WBFEN, m_wbfen);
DDX_Text(pDX, IDC_WGS_PZ_WH, m_wh);
DDX_Text(pDX, IDC_WGS_PZ_WLDU, m_wldu);
DDX_Text(pDX, IDC_WGS_PZ_WLFEN, m_wlfen);
DDX_Text(pDX, IDC_WGS_PZ_WX, m_wx);
DDX_Text(pDX, IDC_WGS_PZ_WY, m_wy);
DDX_Text(pDX, IDC_WGS_PZ_WZ, m_wz);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CWgs84Pz90, CDialog)
//{{AFX_MSG_MAP(CWgs84Pz90)
ON_BN_CLICKED(IDC_TS_WGS_PZ_GDT, OnTsWgsPzGdt)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CWgs84Pz90 message handlers
void CWgs84Pz90::OnTsWgsPzGdt()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
double PI=3.1415926535897932384626;
COORDINATEGEODETIC wgdt;
COORDINATECARTESIAN wcar;
COORDINATECARTESIAN pcar;
COORDINATEGEODETIC pgdt;
wgdt.dLatitude = (m_wbdu + m_wbfen / 60.0) * PI / 180.0;
wgdt.dLongtitude= (m_wldu + m_wlfen / 60.0) * PI / 180.0;
wgdt.dHeight = m_wh;
m_trans.WGSTOPZ(wgdt,&wcar,&pcar,&pgdt);
m_wx = wcar.dX;
m_wy = wcar.dY;
m_wz = wcar.dZ;
m_px = pcar.dX;
m_py = pcar.dY;
m_pz = pcar.dZ;
if(pgdt.dLongtitude < 0)
pgdt.dLongtitude = 180 + pgdt.dLongtitude * 180 / PI;
else
pgdt.dLongtitude = pgdt.dLongtitude * 180 / PI;
m_pbdu = (int)(pgdt.dLatitude * 180 / PI);
m_pbfen = (pgdt.dLatitude * 180 / PI - m_pbdu) * 60;
m_pldu = (int)pgdt.dLongtitude;
m_plfen = (pgdt.dLongtitude - m_pldu) * 60;
m_ph = pgdt.dHeight;
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -