亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gpsdlg.cpp

?? 本程序是用于WGS-84向北京1954坐標(biāo)系轉(zhuǎn)換的。要想進(jìn)行轉(zhuǎn)換需要至少3個控制點。這些控制點要已知他們在WGS-84和北京1954坐標(biāo)系空間直角三維坐標(biāo)。程序通過解算
?? CPP
字號:
// GPSDlg.cpp : implementation file
//

#include "stdafx.h"
#include "GPS.h"
#include "GPSDlg.h"
#include "math.h"
#define PI 3.14159265358979323846264338327950
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGPSDlg dialog

CGPSDlg::CGPSDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CGPSDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CGPSDlg)
	m_B = 30.302622;
	m_BB = 0.0;
	m_H = 47.360;
	m_HH = 0.0;
	m_L = 114.212196;
	m_LL = 0.0;
	m_X = 0.0;
	m_XX = 0.0;
	m_Y = 0.0;
	m_YY = 0.0;
	m_Z = 0.0;
	m_L0 = 0.0;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CGPSDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGPSDlg)
	DDX_Text(pDX, IDC_B, m_B);
	DDX_Text(pDX, IDC_BB, m_BB);
	DDX_Text(pDX, IDC_H, m_H);
	DDX_Text(pDX, IDC_HH, m_HH);
	DDX_Text(pDX, IDC_L, m_L);
	DDX_Text(pDX, IDC_LL, m_LL);
	DDX_Text(pDX, IDC_X, m_X);
	DDX_Text(pDX, IDC_xx, m_XX);
	DDX_Text(pDX, IDC_Y, m_Y);
	DDX_Text(pDX, IDC_yy, m_YY);
	DDX_Text(pDX, IDC_Z, m_Z);
	DDX_Text(pDX, IDC_L0, m_L0);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CGPSDlg, CDialog)
	//{{AFX_MSG_MAP(CGPSDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDOK, OnCalculate)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGPSDlg message handlers

BOOL CGPSDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CGPSDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CGPSDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CGPSDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

double curve2(double a,double e,double B) //計算卯酉圈曲率半徑N
{
	double N;
	double n0=a;
	double n1=e*e*n0/2;
	double n2=3*e*e*n1/4;
	double n3=5*e*e*n2/6;
	double n4=7*e*e*n3/8;
    double SINB;
	SINB=sin(B);
	N=n0+n1*pow(SINB,2)+n2*pow(SINB,4)+n3*pow(SINB,6)+n4*pow(SINB,8); 
	return N;
}

double Radian1(double a,double e,double B)  //計算X(自赤道量起的子午線弧長)
{
	double X;
	double m0=a*(1-e*e);
	double m1=3*e*e*m0/2;
	double m2=5*e*e*m1/4;
	double m3=7*e*e*m2/6;
	double m4=9*e*e*m3/8;
	double a0=m0+m1/2+3*m2/8+5*m3/16+35*m4/128;
	double a1=m1/2+m2/2+15*m3/32+7*m4/16;
	double a2=m2/8+3*m3/16+7*m4/32;
	double a3=m3/32+m4/16;
	double a4=m4/128;
	X=a0*B-a1*sin(2*B)/2+a2*sin(4*B)/4-a3*sin(6*B)/6+a4*sin(8*B);
	return X;
}


long double dmstorad(long double dms) //度分秒轉(zhuǎn)換成弧度
{ 
	long double Degree, Minute; 
	long double Second; 
	int Sign; 
	long double rad; 
	if(dms >= 0) 
		Sign = 1; 
	else 
		Sign = -1; 
	dms = fabs(dms); 
	Degree = floor(dms); 
	Minute = floor(fmod(dms * 100.0, 100.0)); 
	Second = fmod(dms * 10000.0, 100.0); 
	rad = Sign * (Degree + Minute / 60.0 + Second / 3600.0) * PI / 180.0; 
	return rad; 
}


long double radtodms(double rad) //弧度轉(zhuǎn)換成度分秒
{ 
	double Degree, Minute; 
	double Second; 
	int Sign; 
	double dms; 
	if(rad >= 0) 
		Sign = 1; 
	else 
		Sign = -1; 
	rad = fabs(rad * 180.0 / PI); 
	Degree = floor(rad); 
	Minute = floor(fmod(rad * 60.0, 60.0)); 
	Second = fmod(rad * 3600.0, 60.0); 
	dms = Sign * (Degree + Minute / 100.0 + Second / 10000.0); 
	return dms; 
} 

void CGPSDlg::OnCalculate() 
{
	// TODO: Add your control notification handler code here
	
	//1.BLH轉(zhuǎn)化XYZ
	UpdateData(TRUE);
	long double a,e;
	a=6378137.0;
	e=sqrtl(0.0066943799013);
    long double m_B1=dmstorad(m_B);
	long double m_L1=dmstorad(m_L);
	long double W = sqrtl(1 - e*e*sinl(m_B1)*sinl(m_B1));
	long double N = a / W;
	m_X=(N + m_H) * cosl(m_B1) * cosl(m_L1);
	m_Y=(N + m_H) * cosl(m_B1) * sinl(m_L1);
	m_Z=(N * (1- e*e) + m_H) * sinl(m_B1);
	
	
	//2.XYZ轉(zhuǎn)化BLH
	//a=6378245.0;
	//e=sqrtl(0.006693421622966);
	long double t0 , p , k , e1_2 , c;	
	e1_2 = e*e / (1 - e*e);
	c = a * sqrtl(1 + e1_2);
	k  = 1 + e1_2;
	
	long double R_2 = m_X*m_X + m_Y*m_Y;
	
	t0 = m_Z / sqrtl(R_2);	
	p  = c * e*e / sqrtl(R_2);	
	const long double precision = PI / 180 / 3600 / 100000000;
	long double tanBmin = tanl(precision);
	
	long double t1,t2;
	long double fx , dfx;
	
	t1 = t0;
	do{		
		fx = t1-t0-p*t1/sqrtl(k+t1*t1);
		dfx = 1 - p*k / (k+t1*t1) / sqrtl(k+t1*t1);
		t2 = t1;
		t1 = t1 - fx / dfx;
	}
	while(fabs(t1 - t2) > tanBmin);
	m_BB = atanl(t1);
	W = sqrtl(1 - e*e*sinl(m_BB)*sinl(m_BB));
	N = a / W;
	m_HH = sqrtl(R_2) / cosl(m_BB) - N;
   	m_LL = acosl(m_X/sqrtl(R_2));
	m_BB =radtodms(m_BB);
	m_LL =radtodms(m_LL);


	//3.高斯投影
	double X,x,y,L0,L=m_LL;
	L0=114;
	double l=(dmstorad(L)-dmstorad(L0))*180*3600/PI;
	double B=dmstorad(m_BB);
	double t=tan(B);
	double n=e*cos(B)/sqrt(1-e*e);
	N=curve2(a,e,B);
	X=Radian1(a,e,B);
	double r=180*3600/PI;
	x=X+N*sin(B)*cos(B)*l*l/(2*r*r)+N*sin(B)*pow(cos(B),3)*(5-t*t+9*n*n+
		4*pow(n,4))/(24*pow(r,4))+N*sin(B)*pow(cos(B),5)*(61-58*t*t+pow(t,4))*pow(l,6)/(720*pow(r,6));
    y=500000+N*cos(B)*l/r+N*pow(cos(B),3)*(1-t*t+n*n)*pow(l,3)/(6*pow(r,3))+
		N*pow(cos(B),5)*(5-18*t*t+pow(t,4)+14*n*n-58*n*n*t*t)*pow(l,5)/(120*pow(r,5));
	m_XX=x;
	m_YY=y;
    m_L0=int(m_LL/3);
	UpdateData(FALSE);

	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久久久aⅴ国产馆| 欧美人牲a欧美精品| 国产天堂亚洲国产碰碰| 国产夫妻精品视频| 亚洲欧洲精品一区二区三区| 色综合久久中文字幕综合网| 亚洲成人综合在线| 精品久久久久久久久久久久久久久| 久久成人免费网| 中文字幕精品在线不卡| 欧洲一区在线观看| 蜜臀av在线播放一区二区三区| 久久天堂av综合合色蜜桃网| 成人黄色小视频| 亚洲影视资源网| 精品少妇一区二区三区视频免付费 | 97精品国产露脸对白| 亚洲午夜三级在线| 欧美成人精品高清在线播放| 99免费精品视频| 亚洲一区二区三区小说| 精品欧美一区二区三区精品久久| 成人黄色777网| 婷婷综合在线观看| 日本一区二区三区dvd视频在线| 91福利在线免费观看| 美女在线视频一区| 亚洲精品中文字幕乱码三区| 欧美videofree性高清杂交| 91女人视频在线观看| 日韩成人精品在线观看| 中文字幕一区二区三区在线不卡| 欧美电影在哪看比较好| 国产 欧美在线| 亚洲第四色夜色| 国产精品免费看片| 精品国产在天天线2019| 91黄色免费版| 成人美女视频在线观看| 免费人成在线不卡| 亚洲最大成人综合| 中文天堂在线一区| 日韩三级.com| 色婷婷激情一区二区三区| 国产乱一区二区| 水野朝阳av一区二区三区| 国产精品国产成人国产三级| 精品久久久网站| 7799精品视频| 欧美性生活影院| 91一区一区三区| 国产一区二区三区免费在线观看| 亚洲一区二区欧美激情| 亚洲私人黄色宅男| 欧美激情自拍偷拍| 欧美精品一区二区三区蜜桃 | 亚洲欧洲性图库| 精品毛片乱码1区2区3区| 欧美日韩在线免费视频| 91福利在线免费观看| 北条麻妃一区二区三区| 国产成人一区在线| 国内久久精品视频| 韩国女主播成人在线观看| 奇米色一区二区| 蜜桃视频一区二区三区 | 精品日韩一区二区| 欧美一三区三区四区免费在线看 | 91麻豆swag| 91美女在线视频| 色婷婷狠狠综合| 欧美亚洲动漫另类| 欧美羞羞免费网站| 在线观看91精品国产入口| 欧美艳星brazzers| 欧美日韩国产一级| 欧美一区二区视频网站| 欧美乱妇20p| 欧美一区二区三区在线观看| 91精品国产全国免费观看| 日韩欧美一卡二卡| 精品乱人伦一区二区三区| 欧美精品一区二区三区高清aⅴ| 欧美电影免费观看高清完整版在线| 91精品国产色综合久久不卡电影 | 久久精品综合网| 欧美国产综合一区二区| 中文字幕一区av| 亚洲主播在线观看| 伦理电影国产精品| 国产成人av电影| 91视频免费播放| 欧美日韩高清在线| 欧美变态tickling挠脚心| 国产三级欧美三级日产三级99| 国产欧美综合在线| 亚洲激情在线激情| 日本不卡一区二区| 国产精品亚洲а∨天堂免在线| 国产成人高清在线| 色婷婷av久久久久久久| 在线电影一区二区三区| 久久一二三国产| 亚洲人一二三区| 日日夜夜精品视频免费| 国内精品国产三级国产a久久| 成人午夜精品一区二区三区| 91视频xxxx| 91精品国产91久久久久久一区二区| 久久久精品黄色| 一区二区三区免费观看| 精品一区二区三区免费毛片爱| 丁香啪啪综合成人亚洲小说| 精品视频999| 国产欧美一二三区| 午夜电影久久久| 成人理论电影网| 69堂成人精品免费视频| 国产农村妇女精品| 日韩不卡在线观看日韩不卡视频| 国产精品中文有码| 欧美日韩精品系列| 中日韩av电影| 蜜桃视频一区二区| 在线观看一区日韩| 国产片一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 国产在线一区二区| 欧美日韩免费电影| 亚洲欧洲精品一区二区三区| 久国产精品韩国三级视频| 欧美亚洲动漫精品| 亚洲欧洲av色图| 国内精品免费在线观看| 91麻豆精品91久久久久久清纯| 国产精品久久久久7777按摩| 激情亚洲综合在线| 7777精品伊人久久久大香线蕉完整版 | 91小视频免费看| 久久精品一区二区| 久久se精品一区二区| 欧美挠脚心视频网站| 一区二区三区在线视频观看| 成人精品免费看| 久久久久久黄色| 美女免费视频一区二区| 欧美高清视频不卡网| 亚洲午夜精品网| 色94色欧美sute亚洲线路一ni | 午夜免费欧美电影| 在线观看视频欧美| 亚洲欧美国产高清| 91看片淫黄大片一级在线观看| 欧美韩国一区二区| 成人性生交大片免费看在线播放| 欧美精品一二三四| 五月婷婷色综合| 欧美日韩高清一区二区三区| 亚洲免费电影在线| 91丨porny丨国产| 亚洲欧美另类小说| 色婷婷狠狠综合| 亚洲综合一区二区三区| 欧美在线你懂得| 亚洲成人免费视频| 欧美一区二区三区视频免费| 视频一区二区三区在线| 91精品福利在线一区二区三区| 日韩在线播放一区二区| 在线播放一区二区三区| 日本强好片久久久久久aaa| 91麻豆精品91久久久久久清纯 | 国产精品一区免费在线观看| 久久久精品2019中文字幕之3| 国产制服丝袜一区| 国产精品美女久久久久久久久| 成人毛片在线观看| 一区二区激情视频| 欧美日韩二区三区| 久久99国产精品免费| 久久精品人人做人人综合 | 亚洲自拍偷拍麻豆| 88在线观看91蜜桃国自产| 久久福利视频一区二区| 国产欧美日韩视频一区二区| eeuss鲁片一区二区三区| 一区二区成人在线视频| 欧美理论在线播放| 国内久久精品视频| 日韩伦理av电影| 欧美日韩aaa| 国产精品自在欧美一区| 亚洲一区在线观看网站| 日韩欧美色综合| 国产91综合一区在线观看| 亚洲蜜桃精久久久久久久| 欧美另类z0zxhd电影| 国产成人免费网站| 亚洲成人午夜电影| 欧美韩国日本一区|