freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的電子導(dǎo)航系統(tǒng)_畢業(yè)論文(更新版)

  

【正文】 alue=atoi(str)。而且 GPS 使用的 WGS- 84 坐標(biāo)系也與我國(guó)采用的坐標(biāo)系不同,有時(shí)也 要對(duì)此加以變換。 break。) 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說(shuō)明書(shū)(畢業(yè) 論文 ) 36 SectionID++。由于幀內(nèi)各數(shù)據(jù)段由逗號(hào)分割,因此在處理緩存數(shù)據(jù)時(shí)一般是通過(guò)搜尋 ASCII碼 $來(lái)判斷是否是幀頭,在對(duì)幀頭的類別進(jìn)行識(shí)別后再通過(guò)對(duì)所經(jīng)歷逗號(hào)個(gè)數(shù)的計(jì)數(shù)來(lái)判斷出當(dāng)前正在處理的是哪一種定位導(dǎo)航參數(shù),并作出相應(yīng)的處理。前面的代碼只負(fù)責(zé)從串口接收數(shù)據(jù)并將其放置于緩存,在沒(méi)有進(jìn)一步處理之前緩存中是一長(zhǎng)串字節(jié)流,這些信息在沒(méi)有經(jīng)過(guò)分類提取之前是無(wú)法加以利用的。dcb)。CommTimeOuts)。在Windows 下不允許直接對(duì)硬件端口進(jìn)行控制操作,所有的端口均被視為“文件”,因此在對(duì)串口進(jìn)行偵聽(tīng)之前需要通過(guò)打開(kāi)文件來(lái)打開(kāi)串口,并對(duì)其進(jìn)行相關(guān)參數(shù)配置: m_hCom=CreateFile(COM1,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說(shuō)明書(shū)(畢業(yè) 論文 ) 33 EXISTING, FILE_FLAG_OVERLAPPED,NULL)。 (1)。 下面 就針對(duì)當(dāng)前比較普及的 GPS 系統(tǒng),對(duì)其衛(wèi)星定位信息的接收及其定位參數(shù)提取的實(shí)現(xiàn)方法予以介紹。相位觀測(cè)值的精度高至毫米,但前提是解出整周模糊度,因此只有在相對(duì)定位、并有一段連續(xù)觀測(cè)值時(shí)才能使用相位 觀內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說(shuō)明書(shū)(畢業(yè) 論文 ) 31 測(cè)值,而要達(dá)到優(yōu)于米級(jí)的定位精度也只能采用相位觀測(cè)值。我國(guó)也于 20xx 年 10 月 31 日和 12 月 21 日成功發(fā)射了第一顆和第二顆導(dǎo)航定位試驗(yàn)衛(wèi)星并建立了我國(guó)第一代衛(wèi)星導(dǎo)航定位系統(tǒng) 北斗導(dǎo)航系統(tǒng) , 但由于起步晚也沒(méi)有得到廣泛應(yīng)用。在每次循環(huán)中,首先將節(jié)點(diǎn)置于鏈表 sClose 中,并把 Searched 值置為 2,表明該節(jié)點(diǎn)已經(jīng)找到最短路徑,然后遍歷該節(jié)點(diǎn) 的每一個(gè)鄰接點(diǎn),首先判斷該鄰接點(diǎn)的搜索情況( Searched 字段值),然后進(jìn)行插入或重新插入集合 sOpen 的操作( InsertOrder),程序中設(shè)置了兩個(gè)插入函數(shù)InsertOrder 和 Insert, InsertOrder 函數(shù)專用來(lái)向 sOpen 中插入節(jié)點(diǎn),這一過(guò)程需要進(jìn)行排序,因此隨著 sOpen 鏈表的規(guī)模增大,相應(yīng)的時(shí)間消耗也會(huì)增大,插入排序過(guò)程的時(shí)間復(fù)雜度為 O(( n+ 1) /2)。 InsertOrder(,ref sOpen)。 sTemp1=new SearchLink()。 vLink=。 =0。 sClose=new SearchLink()。 =vWork。 通過(guò)這一步操作,環(huán)狀的鄰接多重表建立完成。indexPNodeCount。 =RoadNode[indexP1].Neighbor。 flag1=flag2=0。 pFeatureL=()。 RoadNode[indexP].Searched=0。 indexP=0。//線的權(quán)重 public Link v1Next。 public Link Neighbor。從已標(biāo)記的點(diǎn)中找到直接連接到點(diǎn) i 的點(diǎn) j*,作為前一點(diǎn) ,設(shè)置: i=j*。 4. 重復(fù)第 2 和第 3 步 ,直到 OPEN 表為空,或找到目標(biāo)點(diǎn)。Dijkstra 算法能得出最短路徑的最優(yōu)解,但由于它遍歷計(jì)算的節(jié)點(diǎn)很多,所以效率低。 void CVCDZDHView::OnDistanceTool() { // TODO: Add your mand handler code here (MYTOOL_DISTANCE)。 //在狀態(tài)欄中顯示折線距離 } catch(COleDispatchException *e) { eReportError()。in。 void CVCDZDHView::OnPolyToolUsedMap(short ToolNum,long ags,LPDISPATCH Points,BOOL bShift,BOOL bCtrl,BOOL FAR*EnableDefault) { if (ToolNum==MYTOOL_DISTANCE)。 //MYTOOL_DISTANCE 代表 自 定義工具的常量 , miToolTypePoly 描述了該工具的行為是畫(huà)折線, miCrossCursor 表示指定光標(biāo)的形式 return 0; } 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說(shuō)明書(shū)(畢業(yè) 論文 ) 14 編程實(shí)現(xiàn)自定義工具的行為 在創(chuàng)建了用戶自定義工具后,需在 ToolUsed 事件中實(shí)現(xiàn)該工具是如何工作的。 } } 這樣,就添加上了圖層控制工具, 運(yùn)行程序,該功能如圖 所示: 圖 圖層控制工具 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說(shuō)明書(shū)(畢業(yè) 論文 ) 13 第三章 自定義工具 測(cè)量折線距離 MapX 提供的地圖標(biāo)準(zhǔn)工具能滿足一般需要,但在一些特殊地方,用戶可能需要某種特殊工具來(lái)完成某些特定的地圖操作功能。 = VT_ERROR。//miZoomInTool 為放大工具的常量 } 編譯運(yùn)行程序,選擇“工具 放大”,就會(huì)看到此時(shí)光標(biāo)變?yōu)榉糯箸R,單擊鼠標(biāo)就會(huì)實(shí)現(xiàn)放大功能。//當(dāng)窗口獲得焦點(diǎn)時(shí),地圖控件獲得焦點(diǎn) } 通過(guò)以上步驟,將應(yīng)用程序編譯運(yùn)行就可顯示地圖。該函數(shù)用來(lái)調(diào)整地圖大小使其充滿客戶區(qū)。// 聲明 CMapX 類型的變量 m_ctrlMapX } 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說(shuō)明書(shū)(畢業(yè) 論文 ) 8 2) 為 MapX 創(chuàng)建一個(gè)資源 ID。下面就用一個(gè)具體的實(shí)例,介紹在 VC++中集成 MapX 的方法。 2) GIS 控件 利用 GIS 工具軟件生產(chǎn)廠家提供的建立在 OCX 技術(shù)基礎(chǔ)上的 GIS 功能控件,如ESRI 的 MapObjects、 MapInfo 公司的 MapX 等,在 VC++等編程工具編制的應(yīng)用程序中,直接將 GIS 功能嵌入其中,實(shí)現(xiàn)地理信息系統(tǒng)的各種功能。 系統(tǒng)設(shè)計(jì)方案 應(yīng)用型 GIS 開(kāi)發(fā)的三種實(shí)現(xiàn)方式 (1)獨(dú)立開(kāi)發(fā) 不依賴于任何 GIS 工具軟件,從空間數(shù)據(jù)的采集、編輯到數(shù)據(jù)的處理分析及結(jié)果輸出,所有的算法都由開(kāi)發(fā)者獨(dú)立設(shè)計(jì),然后選用某種程序設(shè)計(jì)語(yǔ)言,如 Visual C++、 Delphi等,在一定的操作系統(tǒng)平臺(tái)上編程實(shí)現(xiàn)。 CDHolding 屬性:通過(guò)查詢 Carrier Detect (CD)線的狀態(tài)確定當(dāng)前是否有傳輸。使用的每個(gè) MSComm 控件都與一個(gè)串口對(duì)應(yīng)。在基于對(duì)話框的應(yīng)用中加入一個(gè) MSComm控件非常簡(jiǎn)單。 MapX的主要功能包括:顯示 MapInfo 格式的地圖;對(duì)地圖進(jìn)行放大、縮小、漫游、選擇等操作;專題地圖;圖層控制;數(shù)據(jù)綁定;動(dòng)態(tài)圖層和用戶繪圖圖層;生成和編輯地圖對(duì)象;簡(jiǎn)單地理查詢:邊界查詢,地址查詢。由于它是一種基于 Windows 操作系統(tǒng)的標(biāo)準(zhǔn)控件,因而能支持絕大多數(shù)標(biāo)準(zhǔn)的可視化開(kāi)發(fā)環(huán)境如 Visual C++、 Visual Basic、 Delphi、 PowerBuilder 等。VC++。 本設(shè)計(jì)以 VC++為開(kāi)發(fā)平臺(tái) ,以 MapX 控件為圖形平臺(tái) , 以 MSComm 控件為通信平臺(tái) , 設(shè)計(jì) 具有電子導(dǎo)航的基本功能 (如地圖的放大縮小、 全圖、漫游等 ) 、 自定義工具測(cè)量折線 距離、圖層控制、 最優(yōu)路徑分析 、 GPS 導(dǎo)航 等功能的 GIS 應(yīng)用軟件 。 目前用于 GIS 應(yīng)用軟件開(kāi)發(fā)的模式有很多,其中組件式 GIS 軟件開(kāi)發(fā)是目前較為流行、高效、快速的開(kāi)發(fā)模式。 MapX采用基于 MapInfo Professional的相同的地圖化技術(shù),可以實(shí)現(xiàn) MapInfo Professional具有的絕大部分地圖編輯和空間分析功能。但是,VC++是 Windows 平臺(tái)上的 C++編程環(huán)境,學(xué)習(xí) VC 要了解很多 Windows 平臺(tái)的特性并且還要掌握 MFC、 ALT、 COM 等的知識(shí) 。編程時(shí)只需將控件對(duì)話中的 MSComm 控件拖至你的應(yīng)用對(duì)話框中就 OK 了。 RThreshold 屬性:在 MSComm 控件設(shè)置 CommEvent 屬性為 EReceive 并產(chǎn)生OnComm之前,設(shè)置并返回的要接收的字符數(shù)。 DSRHolding 屬性:確定 Data Set Ready (DSR)線的狀態(tài)。 GIS 工具軟件大多提供了可供用戶進(jìn)行二次開(kāi)發(fā)的宏語(yǔ)言,如 ESRI 的 ArcView 提供了 Avenue 語(yǔ)言, MapInfo公司研制的 MapInfo Professional 提供了 MapBasic 語(yǔ)言等等。 由于上述優(yōu)點(diǎn),集成二次開(kāi)發(fā)正成為應(yīng)用 GIS 開(kāi)發(fā)的主流方向。 地圖的顯示 在 VCDZDH 文件夾下新建文件夾 map, map 中復(fù)制 MapInfo 格式的地圖文件及Geoset(.GST)文件 。通過(guò)類向?qū)?chuàng)建消息映射函數(shù) WM_CREATE。//調(diào)整地圖大小 } 5) 采用同樣的方法創(chuàng)建 WM_SETFOCUS 消息映射函數(shù)。設(shè)定 MapX 使用標(biāo)準(zhǔn)工具的方法很簡(jiǎn)單,只需設(shè)定地圖對(duì)象的 CulrentTool 屬性。表 中列出了 部分 MapX 工具的指示常量 [9]。 (vHelpFile, vHelpID)。下面是用自定義工具實(shí)現(xiàn)折線距離的計(jì)算。 DECLARE_EVENTSINK_MAP() 然后在 文件中,加入如下代碼。 long i。 Double d=((),(),(),())。 eDelete()。在實(shí)際應(yīng)用中,道路網(wǎng)的表現(xiàn)形式一般為數(shù)字化的矢量地圖,其網(wǎng)絡(luò)空間特征中的交叉路口坐標(biāo)和道路位置坐標(biāo)是在地圖上借助圖形來(lái)識(shí)別和解釋的 ; 而為了能夠高效率地進(jìn)行最短路徑分析,必須首先將其按結(jié)點(diǎn)和弧的關(guān)系抽象為圖的結(jié)構(gòu)。 OPEN 表保存所有已生成而未考察的節(jié)點(diǎn), CLOSED 表中記錄已訪問(wèn)過(guò)的節(jié)點(diǎn)。起源點(diǎn)設(shè)置為:① ds=0, ps 為空 ; ② 所有其他點(diǎn) : di=∞ ,pi=?; ③ 標(biāo)記起源點(diǎn) s,記 k=s,其他所有點(diǎn)設(shè)為未標(biāo)記的。 為了實(shí)現(xiàn) Dijkstra 算法,在程序中首先引入三個(gè)類: class VERTEX //頂點(diǎn)類 { public int id。//在最短路徑上的前一個(gè)點(diǎn) public int LineID。} class SearchLink//搜尋路徑時(shí)的鄰接關(guān)系,用來(lái)放入 Open 或 Close 表中 { public VERTEX v。 if(indexP0) { pFeatureP=()。 pFeatureP=()。 vLink1=vLink2=null。 indexP=(int)((FID))。 =RoadNode[indexP2].Neighbor。 =RoadNode[indexP]。 int c=0。 =。 ==null。 Insert(sTemp,ref sOpen)。//在 sOpen 鏈表中找到權(quán)值最小節(jié)點(diǎn)之后,將該節(jié)點(diǎn)從鏈表 sOpen 中移除,并插入鏈表 sClose 中,表示該節(jié)點(diǎn)的最短路徑已經(jīng)找到 Insert(sTemp,ref sClose)。 InsertOrder(sTemp1,ref sOpen)。其次需要初始化鄰接多重表,將每一個(gè)節(jié)點(diǎn)的 Searched 字段置為 0,表明該節(jié)點(diǎn)還沒(méi)有被搜索過(guò),并把節(jié)點(diǎn)權(quán)重置為無(wú)窮大(最大值)。而 SearchLink類的引入,使得鄰接多重表可以“一次建立,多次使用”,真正提高算法的效率和實(shí)用性。 GPS 接收機(jī)對(duì)碼的量測(cè)就可得到衛(wèi)星到接收機(jī)的距離,由于含有接收機(jī)衛(wèi)星鐘的誤差及大氣傳播誤差,故稱為偽距。相對(duì)定位(差分定位)是根據(jù)兩臺(tái)以上接收機(jī)的觀測(cè)數(shù)據(jù)來(lái)確定觀測(cè)點(diǎn)之間的相對(duì)位置的方法,它既可采用偽距觀測(cè)量也可采用相位觀測(cè)量,大地測(cè)量或工程測(cè)量均應(yīng)采用相位觀測(cè)值進(jìn)行相對(duì)定位。 初始化并打開(kāi)串口: 對(duì)串口初始化通常要完成以下幾個(gè)設(shè)置 :設(shè)定通信端口號(hào),即 CommPort 屬性 。//打開(kāi)串口 else AfxMessageBox(cannotopenserialport)。// 初始化通訊設(shè)備參數(shù) //清除緩沖信息 PurgeComm (m_hCom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR) 。 = CBR_4800。 if (dwEvtMaskamp。對(duì)于本文所使用的 GARMIN GPS 天線板,其發(fā)送到計(jì)算機(jī)的數(shù)據(jù)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成,根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有 $GPGGA、 $GPGSA、$GPGSV以及 $GPRMC等。i++) { if(Data[i]==39。 case 2: //判斷數(shù)據(jù)是否可信 (當(dāng) GPS 天 線能接收到有 3 顆 GPS 衛(wèi)星時(shí)為 A,可信 ) if(Data[i]==39。 case 9: m_sDate+=Data[i]。 GPSParam[m_nNumber].m_nHour=(atoi(str)+8)%24。 //提取出緯度 ?? ::strcpy(buf,m_sPositionX)。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1