📄 ninetrans.cpp
字号:
// NineTrans.cpp : implementation file
//
#include "stdafx.h"
#include "satcoord.h"
#include "NineTrans.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CNineTrans dialog
CNineTrans::CNineTrans(CWnd* pParent /*=NULL*/)
: CDialog(CNineTrans::IDD, pParent)
{
//{{AFX_DATA_INIT(CNineTrans)
m_deltaa = 0.0;
m_deltaalpha = 0.0;
m_deltax = 0.0;
m_deltay = 0.0;
m_deltaz = 0.0;
m_epsilonx = 0.0;
m_epsilony = 0.0;
m_epsilonz = 0.0;
m_m = 0.0;
//}}AFX_DATA_INIT
}
void CNineTrans::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNineTrans)
DDX_Text(pDX, IDC_NINE_DELTAA, m_deltaa);
DDX_Text(pDX, IDC_NINE_DELTAALPHA, m_deltaalpha);
DDX_Text(pDX, IDC_NINE_DELTAX, m_deltax);
DDX_Text(pDX, IDC_NINE_DELTAY, m_deltay);
DDX_Text(pDX, IDC_NINE_DELTAZ, m_deltaz);
DDX_Text(pDX, IDC_NINE_EPSILONX, m_epsilonx);
DDX_Text(pDX, IDC_NINE_EPSILONY, m_epsilony);
DDX_Text(pDX, IDC_NINE_EPSILONZ, m_epsilonz);
DDX_Text(pDX, IDC_NINE_M, m_m);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNineTrans, CDialog)
//{{AFX_MSG_MAP(CNineTrans)
ON_BN_CLICKED(ID_Nine_Trans_wgsbj, OnNineTranswgsbj)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNineTrans message handlers
void CNineTrans::OnNineTranswgsbj()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
COMMANCOORD ccoord;
NINEPARAMETER np;
COORDINATEGEODETIC bjgdt;
COORDINATEPLANE bjpla;
char szBuf[128];
double PI=3.1415926535897932384626;
double x[4],y[4],h[4];
double middleoflat;
FILE *fp_comman;
fp_comman = fopen("comman_nine.txt","r");
for(int i = 0; i < 4; i ++)
{
fgets (szBuf, 128, fp_comman);
sscanf(szBuf, "%lf %lf %lf", &ccoord.B1[i], &ccoord.L1[i], &ccoord.H1[i]);
}
fgets (szBuf, 128, fp_comman);
for( i = 0; i < 4; i ++)
{
fgets (szBuf, 128, fp_comman);
sscanf(szBuf, "%lf %lf %lf", &x[i], &y[i], &h[i]);
}
for(i = 0; i < 4; i ++)
{
middleoflat = floor ((ccoord.L1[i] + 1.5) / 3.0) * 3.0;
bjpla.dX = x[i];
bjpla.dY = y[i];
m_trans.PLANEtoBJ(bjpla,middleoflat,&bjgdt);
ccoord.B2[i] = bjgdt.dLatitude;
ccoord.L2[i] = bjgdt.dLongtitude;
ccoord.H2[i] = h[i];
}
for(i = 0; i < 4; i ++)
{
ccoord.B1[i] = ccoord.B1[i] * PI / 180.0;
ccoord.L1[i] = ccoord.L1[i] * PI / 180.0;
}
m_trans.ninetrans(ccoord,&np);
m_deltax = np.dx;
m_deltay = np.dy;
m_deltaz = np.dz;
m_epsilonx = np.ex;
m_epsilony = np.ey;
m_epsilonz = np.ez;
m_deltaa = np.deltaa;
m_deltaalpha= np.deltaalpha;
m_m = np.m;
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -