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

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

?? gpsdoc.cpp

?? 一個gps單點定位的程序
?? CPP
字號:
// GPSDoc.cpp : implementation of the CGPSDoc class
//

#include "stdafx.h"
#include "GPS.h"

#include "GPSDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGPSDoc

IMPLEMENT_DYNCREATE(CGPSDoc, CDocument)

BEGIN_MESSAGE_MAP(CGPSDoc, CDocument)
	//{{AFX_MSG_MAP(CGPSDoc)
	ON_COMMAND(ID_NAVIGATION, OnNavigation)
	ON_COMMAND(ID_OBSERVE, OnObserve)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGPSDoc construction/destruction

CGPSDoc::CGPSDoc()
{
	// TODO: add one-time construction code here

}

CGPSDoc::~CGPSDoc()
{
}

BOOL CGPSDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CGPSDoc serialization

void CGPSDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CGPSDoc diagnostics

#ifdef _DEBUG
void CGPSDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CGPSDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CGPSDoc commands

void CGPSDoc::OnNavigation() 
{
	// TODO: Add your command handler code here
	
	Open();
	
}

void CGPSDoc::OnObserve() 
{
	// TODO: Add your command handler code here
	Open_Observe();
	
}

void CGPSDoc::Open()
{
	char *szFilter="Text Files(*.txt)|*.txt|All Files(*.*)|*.*|GPS Files(*.dat)|*.dat|";
	CFileDialog fo(true,"*.*",TEXT("gpsdata.txt") ,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
	fo.DoModal();

	CString path=fo.GetPathName();
	if(path=="GPSfile")
		return;

	CString data;
	if(!gpsFile.Open(path,CFile::modeRead))
	{
		AfxMessageBox("Can't open file!");
		return;
	}
	//begin to read
	int PRN;
	int year=0,month=0,day=0;
	int hour=0,minute=0,second=0;
	double a0=0,a1=0,a2=0;
	int a=0,b=0;
    double D[4];
	CNavigationFile temp;

	gpsFile.ReadString(data);
	data.TrimLeft();
	data.TrimRight();
	CString str1;
	while(data!="END OF HEADER")
	{
		gpsFile.ReadString(data);
		data.TrimRight();
		data.TrimLeft();
	}
	m_count=0;
	gpsFile.ReadString (data);
	data.TrimLeft ();
    data.TrimRight ();
	///begint to read zhe zero line
	while(!data.IsEmpty())
	{
		a=data.Find(" ");
		PRN=atoi(data.Mid(0,a));
		temp.SetPRN(PRN);
		year=atoi(data.Mid(a+1,2))+2000;
		a=data.Find(" ",a+1);
		month=atoi(data.Mid(a+1,2));
		a=data.Find(" ",a+1);
		day=atoi(data.Mid(a+1,2));
		a=data.Find(" ",a+1);
		hour =atoi(data.Mid (a+1,2));
		a=data.Find(" ",a+1);
		minute =atoi(data.Mid (a+1,2));
		a=data.Find(" ",a+1);
		second =atoi(data.Mid (a+1,3));
		temp.SetTime(year,month,day,hour,minute,second);
		a=data.Find("."); //秒的小數(shù)點
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		a0=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		a1=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		a2=atof(str1);
		
		temp.SetAAA (a0,a1,a2);
		//////read the first line
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		temp.SetFirstLine(D[0],D[1],D[2],D[3]);

			//讀取第二行數(shù)據(jù)
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		
		temp.SetSecondLine(D[0],D[1],D[2],D[3]);  //設(shè)置第二行數(shù)據(jù)
		
		//讀取第三行數(shù)據(jù)
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		
		temp.SetThirdLine(D[0],D[1],D[2],D[3]);  //設(shè)置第三行數(shù)據(jù)
		
		//讀取第四行數(shù)據(jù)
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		
		temp.SetForthLine (D[0],D[1],D[2],D[3]);  //設(shè)置第四行數(shù)據(jù)
		
		//讀取第五行數(shù)據(jù)
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		temp.SetFiveLine(D[0],D[1],D[2],D[3]);  //設(shè)置第五行數(shù)據(jù)
		
		//讀取第六行數(shù)據(jù)
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		
		temp.SetSixLine(D[0],D[1],D[2],D[3]);  //設(shè)置第六行數(shù)據(jù)
		
		//讀取第七行數(shù)據(jù)
		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
		
		a=data.Find(".");
		b=data.Find ("e");
		str1=data.Mid (0,b+5);
		D[0]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[1]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[2]=atof(str1);
		
		a=data.Find(".",a+1);
		str1=data.Mid (a-2,19);
		D[3]=atof(str1);
		
		temp.SetSevenLine(D[0]);
		temp.GetGPSSeconds (year,month,day,hour,minute,second);
		temp.CaculateCOR ();

		m_gpsArray.Add (temp);
		m_count++;
		
		gpsFile.ReadString (data);
		data.TrimLeft ();
	    data.TrimRight ();
		

	}
	gpsFile.Close ();
	/////////////////以下顯示所求的衛(wèi)星坐標(biāo)
	CString string1=" ";
	CString str;
	str.Format("\t");
	/////
	CString str_1,str_2,str_3,str_4,str_5;
	str_1="衛(wèi)星號";
	str_2="時間(y-m-d-h-m-s)";
	str_3="坐標(biāo)(X)";
	str_4="坐標(biāo)(Y)";
	str_5="坐標(biāo)(Z)";
	CString m_temp;
	m_temp=str_1+"    "+str_2+"     "+str+str_3+str+"       "+str+str_4+""+str+str+"      "+str_5;
	CString strPRN,strTimeZ;
	CNavigationFile k;
	CString string=" ";
	for(int i=0;i<m_count ;i++)
	{
	k=m_gpsArray.GetAt (i);
	PRN=k.GetPRN ();
	
	strPRN.Format ("%d",PRN);
	if(PRN<10)
	{
		strPRN=strPRN+" ";
	}
	
	//strTime.Format ("",);
	string.Format ("\n  %s      %s        %f      %f     %f    ",strPRN,k.GetUCTTime (),k.GetX(),k.GetY(),k.GetZ());
	
	string1+=string;
	
	}
	string1=m_temp+string1;
	AfxMessageBox(string1);

}

void CGPSDoc::Open_Observe()
{
	int i;

	char *szFilter="Text Files(*.txt)|*txt|All Files(*.*)|*.*|GPS Files(*.dat)|*.dat||";
	CFileDialog fo (true,"*.*",TEXT("gpsdata.txt") ,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
	fo.DoModal();
	
	CString path=fo.GetPathName();

	if(path=="gpsdata")
		return;

	//AfxMessageBox(path);
	CString data;
	
	if( !gpsFile.Open( path, CFile::modeRead ))
	{
		
		AfxMessageBox("文件打開失敗!");
		return;
	}
	//讀取數(shù)據(jù)
	int surveyCount;
	int PRNS[20];
	int year=0,month=0,day=0;
	int hour=0,minute=0,second=0;
	double L1[20],L2[20],P2[20],C1[20];
	CString strPRNS;
	CObserveFile temp;

	gpsFile.ReadString (data);
	data.TrimLeft ();
	data.TrimRight ();
    //跳過文件頭
	while(data!="END OF HEADER")
	{
		gpsFile.ReadString (data);
		data.TrimLeft ();
	    data.TrimRight ();

	}

	m_surveyCount=0;
    int a=0;

	gpsFile.ReadString (data);
	data.TrimLeft ();
	data.TrimRight ();

	while(!data.IsEmpty ())
	{
		a=data.Find(" ");
		year =atoi(data.Mid (0,a))+2000;
	
		month =atoi(data.Mid (a+1,2));
		a=data.Find(" ",a+1);
		day =atoi(data.Mid (a+1,2));
		a=data.Find(" ",a+1);
		hour =atoi(data.Mid (a+1,2));
		a=data.Find(" ",a+1);
		minute =atoi(data.Mid (a+1,2));

		a=data.Find(" ",a+1);
		second =atoi(data.Mid (a+1,10));

		a=data.Find(" ",a+3);
		surveyCount=atoi(data.Mid (a+3,3));
		
		temp.SetSurveyTime (CTime(year,month,day,hour,minute,second));
		temp.SetSurveyCount (surveyCount);

		strPRNS=data.Right(data.GetLength()-31);
		strPRNS.TrimLeft ();
		strPRNS.TrimRight ();
		
		
		a=0;
		for(i=0;i<surveyCount;i++)
		{
			PRNS[i]=atoi(strPRNS.Mid (a,2));
			a=strPRNS.Find(" ",a+1)+1;
		}
		temp.SetPRNS (PRNS,surveyCount);

		for(i=0;i<surveyCount;i++)
		{
			gpsFile.ReadString(data);
			data=data.Mid (1,data.GetLength ()-2);

			L1[i]=atof(data.Mid (0,15));
			L2[i]=atof(data.Mid (17,15));
			P2[i]=atof(data.Mid (33,15));
			C1[i]=atof(data.Right(15)); 
		}
		temp.SetL1(L1,surveyCount);
		temp.SetL2(L1,surveyCount);
		temp.SetP2(P2,surveyCount);
		temp.SetC1(C1,surveyCount);
		
		m_gpsObserve.Add(temp);
		m_surveyCount++;

		gpsFile.ReadString (data);
		data.TrimLeft ();
		data.TrimRight ();
	}						   
	gpsFile.Close();
	//檢查是否有導(dǎo)航文件
	if(m_gpsArray.GetSize ()==0)
	{
		AfxMessageBox("您還沒有選擇導(dǎo)航文件");
		Open();
	}
	//獲得衛(wèi)星坐標(biāo)及相應(yīng)鐘差
	CObserveFile station;
	CNavigationFile salite;
	int isFind=0;
	int isAllFind=1;
	int isCan=0;
	for(i=0;i<m_gpsObserve.GetSize();i++)
	{
		station=m_gpsObserve.GetAt (i);
		isAllFind=1;
		for(int j=0;j<station.GetSurveyCount ();j++)
		{
			isFind=0;
			for(int k=0;m_gpsArray.GetSize ();k++)
			{
				salite=m_gpsArray.GetAt (k);
				if (salite.GetPRN()==station.PRNS [j])
				{
					station.Salite [j]=salite;
					isCan=1;
					isFind=1;
					break;
				}
			}
			if(isFind==0)
			{
				//AfxMessageBox("不能在導(dǎo)航文件中找到所有觀測衛(wèi)星!");
				isAllFind=0;
				break;
			}
		}
		if(isAllFind==1)
		{
			station.Salite[j] =salite;
			m_gpsStation=station;
			break;
		}
	
	}//數(shù)據(jù)完好衛(wèi)星查找完畢

	if(isCan==1)
	{
		m_gpsStation.CaculateCor();
	    //ShowStationCor();
	}
	else
		AfxMessageBox("數(shù)據(jù)不足,無法計算!");
	
	
	////
	CString str_2,str_3,str_4,str_5;
	CString str="\t";
	//CObserveFile k;
	
	//str_1="衛(wèi)星號";
	str_2="坐標(biāo)(X)";
	str_3="坐標(biāo)(Y)";
	str_4="坐標(biāo)(Z)";
	str_5="坐標(biāo)(T)";
	CString m_temp;
	m_temp="  "+str_2+str+str+str_3+str+"    "+str+str_4+str+"  "+str_5;
	
	CString string;
	string.Format(" \n%f     %f    %f   %f",m_gpsStation.GetX_O(),m_gpsStation.GetY_O(),m_gpsStation.GetZC(),m_gpsStation.GetZC());
    AfxMessageBox(m_temp+string);

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲私人黄色宅男| 91精品国产全国免费观看| 久久精品人人做人人爽人人| 韩国视频一区二区| 精品少妇一区二区三区| 精品一区二区免费在线观看| 国产视频亚洲色图| 色婷婷av一区二区三区大白胸 | 亚洲影视在线播放| jizzjizzjizz欧美| 亚洲一级二级在线| 欧美大片一区二区三区| 国产1区2区3区精品美女| 国产精品福利av| 欧美精品欧美精品系列| 狠狠色狠狠色综合系列| 日韩美女视频一区二区 | 精品国产一区二区三区久久久蜜月| 国产一区二区三区在线观看免费视频 | 91黄色激情网站| 青青草91视频| 日韩一区在线免费观看| 3d成人动漫网站| 国产 日韩 欧美大片| 亚洲国产一二三| 久久精品视频免费观看| 色88888久久久久久影院野外| 日本三级亚洲精品| 中文字幕人成不卡一区| 91麻豆精品国产91久久久| 成人免费看黄yyy456| 日韩成人免费电影| 中文字幕视频一区| 日韩欧美三级在线| 色爱区综合激月婷婷| 国产一区二区网址| 日韩国产欧美在线观看| 亚洲欧洲精品一区二区三区 | 国产精品久久久久久妇女6080 | 粉嫩高潮美女一区二区三区| 亚洲国产毛片aaaaa无费看| 久久精品无码一区二区三区| 欧美一区在线视频| 亚洲精品欧美二区三区中文字幕| 精品国产一区二区三区久久影院| 色综合天天在线| 寂寞少妇一区二区三区| 亚洲国产一区二区在线播放| 国产精品二三区| 久久伊99综合婷婷久久伊| 欧美日韩一区二区三区高清| 97超碰欧美中文字幕| 国产精品一区在线观看乱码| 五月婷婷激情综合网| 夜夜嗨av一区二区三区中文字幕| 国产欧美日韩综合| 精品国产自在久精品国产| 91精品视频网| 欧美日韩日日摸| 在线亚洲一区二区| 99精品视频在线免费观看| 国产精品白丝jk白祙喷水网站| 日韩av不卡在线观看| 香蕉乱码成人久久天堂爱免费| 一区二区三区中文在线观看| 亚洲特级片在线| 亚洲品质自拍视频网站| 国产精品女上位| 中文字幕乱码日本亚洲一区二区| 国产午夜精品在线观看| 国产亚洲精品超碰| 久久久久99精品国产片| 久久综合九色综合97婷婷女人| 欧美电影免费观看高清完整版在线 | 欧美一级搡bbbb搡bbbb| 欧美乱熟臀69xxxxxx| 在线91免费看| 欧美一区二区视频网站| 欧美一级二级在线观看| 日韩欧美国产不卡| 精品日韩成人av| 国产清纯白嫩初高生在线观看91| 欧美韩日一区二区三区| 国产精品久久久一本精品 | 日韩精品一区二区三区四区| 精品福利一二区| 中文字幕精品一区二区三区精品| 国产精品网曝门| 亚洲精品高清视频在线观看| 一区二区三区四区不卡在线 | 国产成人日日夜夜| a级高清视频欧美日韩| 一本大道综合伊人精品热热| 欧美色综合天天久久综合精品| 欧美高清性hdvideosex| 欧美不卡一二三| 欧美激情综合网| 亚洲欧美日韩在线不卡| 亚洲国产精品麻豆| 久88久久88久久久| 成人永久aaa| 欧美综合一区二区| 精品久久久久久久久久久久久久久 | 国产精品久久久久三级| 一区二区免费看| 日本午夜精品一区二区三区电影| 黑人巨大精品欧美一区| 99精品欧美一区二区三区小说| 欧美日韩综合在线| 欧美精品一区二区三区蜜臀| 亚洲女子a中天字幕| 免费日韩伦理电影| 成人福利在线看| 欧美精品在欧美一区二区少妇| 精品成人私密视频| 亚洲美腿欧美偷拍| 久久爱www久久做| 一本到三区不卡视频| 2023国产精品自拍| 亚洲激情一二三区| 国产美女主播视频一区| 欧美在线啊v一区| 久久人人爽爽爽人久久久| 欧美精品丝袜中出| 日韩午夜av一区| 亚洲免费观看视频| 狠狠色狠狠色综合系列| 欧美偷拍一区二区| 国产精品萝li| 精品一区二区三区在线观看国产| 色呦呦国产精品| 国产片一区二区三区| 日韩精品电影在线| 色综合色综合色综合| 精品国产一区二区在线观看| 亚洲电影一区二区三区| 99久久精品国产网站| 久久久久国产精品麻豆ai换脸| 天天亚洲美女在线视频| 91免费视频网址| 国产精品人妖ts系列视频| 韩国在线一区二区| 91精品国产综合久久久久久久 | 欧美久久久久免费| 亚洲男人的天堂一区二区| 国产一区二区主播在线| 日韩欧美亚洲另类制服综合在线| 亚洲一区免费观看| 色综合久久久久| 亚洲欧美另类小说| 91视频你懂的| 国产精品理论片在线观看| 国产乱码精品1区2区3区| 欧美v国产在线一区二区三区| 日本不卡一区二区三区高清视频| 欧美日韩三级一区| 午夜精品福利一区二区蜜股av| 在线观看亚洲精品| 亚洲激情网站免费观看| 色婷婷久久一区二区三区麻豆| 中文字幕亚洲成人| 色综合久久久久久久久久久| 亚洲视频中文字幕| 色婷婷久久一区二区三区麻豆| 一区二区视频在线看| 91福利小视频| 亚洲成人先锋电影| 欧美精品欧美精品系列| 免费观看日韩电影| 精品盗摄一区二区三区| 国产成人精品影视| 中文字幕av一区二区三区高| a在线播放不卡| 夜色激情一区二区| 欧美日韩一区高清| 日韩av成人高清| www激情久久| 成人app软件下载大全免费| 日韩理论电影院| 欧美天天综合网| 蜜桃av一区二区在线观看| 久久只精品国产| 成人午夜激情影院| 亚洲乱码国产乱码精品精的特点| 91福利区一区二区三区| 性感美女极品91精品| 精品区一区二区| 成人成人成人在线视频| 一区2区3区在线看| 欧美妇女性影城| 国产一区二区三区蝌蚪| 亚洲男女毛片无遮挡| 日本伊人午夜精品| 日韩欧美一级片| 国产精一区二区三区| 中文字幕中文字幕一区二区| 91电影在线观看| 麻豆久久久久久| **欧美大码日韩| 91超碰这里只有精品国产|