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

正文內(nèi)容

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

2025-07-06 09:16本頁面
  

【正文】 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 39 總 結(jié) 可以看出, MapX 開發(fā)平臺可以提供地理信息應(yīng)用系統(tǒng)所需 要的各主要方面功能,并具有開發(fā)方式靈活,接口簡便的特點(diǎn),不失為開發(fā)地理信息應(yīng)用系統(tǒng)的理想平臺。//提取出經(jīng)度 (單位為分 ) } if(()==9) //經(jīng)度未超過 90 度 (如東經(jīng) 89 度 ) { //處理方法同上,只是 buf的第 0、 1 字節(jié)為度數(shù), 2~9 為分?jǐn)?shù)。 (%c%c%c%c%c%c%c,buf[3],buf[4],buf[5],buf[6],buf[7],buf[8],buf[9])。 if(()==10) //經(jīng)度超過 90 度 (如東經(jīng) 125 度 ) { (%c%c%c,buf[0],buf[1],buf[2])。 GPSParam[m_nNumber].m_dPositionY=PositionValue*60+atof(str)。 PositionValue=atoi(str)。 //提取出月份 //buf第 3 字節(jié)為天, 5 字節(jié)為年,提取方法同上 ?? ::strcpy(buf,m_sPositionY)。//提取出小時(shí)并轉(zhuǎn)化為 24 小時(shí)制北京時(shí)間 3 字節(jié)為分鐘, 5 字節(jié)為秒,提取方法同上 ?? ::strcpy(buf,m_sDate)。 (%c%c,buf[0],buf[1])。而且 GPS 使用的 WGS- 84 坐標(biāo)系也與我國采用的坐標(biāo)系不同,有時(shí)也 要對此加以變換。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 37 } } } 現(xiàn)在已將所需信息提取到內(nèi)存,即時(shí)間、日期以及經(jīng)緯度分別保存在 CString 型變量 m_sTime、 m_Data、 m_sPositionY 和 m_sPositionX 中。 break。 break。 break。 break。A39。 break。) 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 36 SectionID++。 if(Data[i]==10){//幀尾 } if(Data[i]==39。$39。iDATALENGTH。由于幀內(nèi)各數(shù)據(jù)段由逗號分割,因此在處理緩存數(shù)據(jù)時(shí)一般是通過搜尋 ASCII碼 $來判斷是否是幀頭,在對幀頭的類別進(jìn)行識別后再通過對所經(jīng)歷逗號個(gè)數(shù)的計(jì)數(shù)來判斷出當(dāng)前正在處理的是哪一種定位導(dǎo)航參數(shù),并作出相應(yīng)的處理。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 35 3 緯度 , 格式為 4 標(biāo)明南北半球 , N 為北半球、 S 為南半球 5 徑度,格式為 6 標(biāo)明東西半球, E 為東半球、 W 為西半球 7 地面上的速度,范圍為 到 8 方位角,范圍為 到 度 9 日期 , 格式為 ddmmyy 10 地磁變化,從 到 度 11 地磁變化方向,為 E 或 W 至于其他幾種幀格式,除了特殊用途外,平時(shí)并不常用,雖然接收機(jī)也在源源不斷地向主機(jī)發(fā)送各種數(shù)據(jù)幀,但在處理時(shí)一般先通過對幀頭的判斷而只對 $GPRMC幀進(jìn)行數(shù)據(jù)的提取處理。這些幀頭標(biāo)識了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車符和換行符作為幀尾標(biāo)識一幀的結(jié)束。同其他通訊協(xié)議類似,對 GPS進(jìn)行信息提取必須首先明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對各定位信息的提取。前面的代碼只負(fù)責(zé)從串口接收數(shù)據(jù)并將其放置于緩存,在沒有進(jìn)一步處理之前緩存中是一長串字節(jié)流,這些信息在沒有經(jīng)過分類提取之前是無法加以利用的。olRead)。EV_RXCHAR == EV_RXCHAR) if(0) ReadFile(m_hCom,m_readbuf,amp。dwEvtMask,NULL)。dcb)。 = ONESTOPBIT 。 = 8。dcb) 。CommTimeOuts)。//接收每字節(jié)的平均允許時(shí)間 = 0。 //對異步 I/O 進(jìn)行設(shè)置 = MAXDWORD。//添加或修改 Windows 所報(bào)告的事件列表 SetupComm(m_hCom,READBUFLEN/*讀緩沖 */,WRITEBUFLEN/*寫緩沖 */)。在Windows 下不允許直接對硬件端口進(jìn)行控制操作,所有的端口均被視為“文件”,因此在對串口進(jìn)行偵聽之前需要通過打開文件來打開串口,并對其進(jìn)行相關(guān)參數(shù)配置: m_hCom=CreateFile(COM1,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 33 EXISTING, FILE_FLAG_OVERLAPPED,NULL)。//1:表示 以二進(jìn)制方式檢取數(shù)據(jù) (1)。 (9600,n,8,1)。//設(shè)置輸入緩沖區(qū)的大小 if(!()) (TRUE)。 (1)。打開通信端口 ,即將 PortOpen 屬性設(shè)為 True。設(shè)定通信協(xié)議 ,即 HandShaking 屬性 。由于 GPS 定位信息內(nèi)容較少,因此多用 RS232 串口將定位信息( NEMA0183 語句)從 GPS 接收機(jī)傳送到計(jì)算機(jī)中進(jìn)行信息提取處理。 下面 就針對當(dāng)前比較普及的 GPS 系統(tǒng),對其衛(wèi)星定位信息的接收及其定位參數(shù)提取的實(shí)現(xiàn)方法予以介紹。在定位觀測時(shí) ,若接收機(jī)相對于地球表面靜止,則稱為靜態(tài)定位,在進(jìn)行控制網(wǎng)觀測時(shí),一般均采用這種方式由幾臺接收機(jī)同時(shí)觀測,它能最太限度地發(fā)揮 GPS 的定位精度,專用于這種目的的接收機(jī)被稱為大地型接收機(jī),是接收機(jī)中性能最好的一類。 在 GPS 觀測量中包含了衛(wèi)星和接收機(jī)的鐘差、大氣傳播延遲、多路徑效應(yīng)等誤差,在定位計(jì)算時(shí)還要受到衛(wèi)星廣播星歷誤差 的影響,在進(jìn)行相對定位時(shí)大部分公共誤差被抵消或削弱,因此定位精度將大大提高,雙頻接收機(jī)可以根據(jù)兩個(gè)頻率的觀測量抵消大氣中電離層誤差的主要部分,在精度要求高,接收機(jī)間距離較遠(yuǎn)時(shí)(大氣有明顯差別),應(yīng)選用雙頻接收機(jī)。單點(diǎn)定位就是根據(jù)一臺接收機(jī)的觀測數(shù)據(jù)來確定接收機(jī)位置的方式,它只能采用偽距觀測量,可用于車船等的概略導(dǎo)航定位。相位觀測值的精度高至毫米,但前提是解出整周模糊度,因此只有在相對定位、并有一段連續(xù)觀測值時(shí)才能使用相位 觀內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 31 測值,而要達(dá)到優(yōu)于米級的定位精度也只能采用相位觀測值。嚴(yán)格而言,載波相位應(yīng)被稱為載波拍頻相位,它是收到的受多普勒頻移影響的衛(wèi)星信號載波相位與接收機(jī)本機(jī)振蕩產(chǎn)生信號相位之差。對 0A 碼測得的偽距稱為 UA 碼偽距,精度約為 20 米左右,對 P 碼測得的偽距稱為 P 碼偽距,精度約為 2 米左右。 GPS 接收機(jī)可接收到準(zhǔn)確至納秒級的時(shí)間信息 ; 用于預(yù)報(bào)未來幾個(gè)月內(nèi)衛(wèi)星所處概略位置的預(yù)報(bào)星歷;用于計(jì)算定位時(shí)所需衛(wèi)星坐標(biāo)的廣播星歷,精度為幾米至幾十米(各個(gè)衛(wèi)星不同,隨時(shí)變化);以及 GPS 系統(tǒng)信息,如衛(wèi)星狀況等。我國也于 20xx 年 10 月 31 日和 12 月 21 日成功發(fā)射了第一顆和第二顆導(dǎo)航定位試驗(yàn)衛(wèi)星并建立了我國第一代衛(wèi)星導(dǎo)航定位系統(tǒng) 北斗導(dǎo)航系統(tǒng) , 但由于起步晚也沒有得到廣泛應(yīng)用?,F(xiàn)不僅應(yīng)用于物理勘探、電離層測量和航天器導(dǎo)航等諸多民用領(lǐng)域,在軍事領(lǐng)域更是取得了廣泛的應(yīng)用 —— 在彈道導(dǎo)彈、野戰(zhàn)指揮系統(tǒng)、精確彈道測量以及軍用地圖快速測繪等領(lǐng)域均大量采用了衛(wèi)星導(dǎo)航定位技術(shù)。 SearchLink 是純指針類,實(shí)例化的時(shí)候只占用很少的內(nèi)存開銷,因此這種以空間換時(shí)間的方法能夠有效的提高算法執(zhí)行的效率。但是隨之而來的問題是 ,單次搜索之后,原來的鄰接多重表被破壞了,在下一次搜索前不得不重新建立鄰接多重表,由于建立鄰接多重表時(shí)如果數(shù)據(jù)量比較大,則程序需要頻繁訪問外存儲器,造成了大量的時(shí)間開銷。在每次循環(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ù)專用來向 sOpen 中插入節(jié)點(diǎn),這一過程需要進(jìn)行排序,因此隨著 sOpen 鏈表的規(guī)模增大,相應(yīng)的時(shí)間消耗也會(huì)增大,插入排序過程的時(shí)間復(fù)雜度為 O(( n+ 1) /2)。外循環(huán)用來遍歷鏈表內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 29 sClose,直到鏈表 sClose 變?yōu)榭眨蛘咦疃搪窂降慕K點(diǎn) vTail 的最短路徑被找到( Searched字段變?yōu)?2)。這一過程為單循環(huán),時(shí)間復(fù)雜度為 O( n)。 } } 在開始最短路徑查詢之前,首先定義兩個(gè)鏈表 sOpen 和 sClose, sClose 用來放置已經(jīng)找到最短路徑的節(jié)點(diǎn), sOpen 用來放置已經(jīng)搜索但還沒有找到最短路徑、等待繼續(xù)搜索的節(jié)點(diǎn)。 InsertOrder(,ref sOpen)。 =。 } 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 28 else if(==1)//Searched 如果為 1,則表示該鄰接點(diǎn)已經(jīng)搜索過,但還沒有找到最短路徑 { if(+)//如果權(quán)值不是最小,則需要重新計(jì)算權(quán)值 { Delete(ref ,ref sOpen)。 =sTemp1。 sTemp1=new SearchLink()。 =1。 while(vLink!=null)//遍歷節(jié)點(diǎn)的各個(gè)鄰接點(diǎn) { if(==0)//Searched 字段表名該鄰接點(diǎn)的搜索狀 態(tài),如果是 0,則表示該鄰接點(diǎn)從未被搜索過 { =+。 Delete(ref sTemp,ref sOpen)。 vLink=。!=2)//一旦鏈表 sOpen 變?yōu)榭眨蚪K點(diǎn)內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì) 說明書(畢業(yè) 論文 ) 27 的最短路徑已經(jīng)找到,則查詢結(jié)束 { sTemp=。//Insert 函數(shù)按升序?qū)⒐?jié)點(diǎn) sTemp 插入鏈表 sOpen 中 while(!=nullamp。 ==null。 =0。 =。 =null。 =null。 sClose=new SearchLink()。 } 由于鄰接多重表可以重復(fù)使用,因此 在一次尋徑后,鏈表中的節(jié)點(diǎn)的一些屬性值可能被改變,因此需要重新初始化節(jié)點(diǎn)的屬性值,如查詢狀態(tài) Searched、最短路徑前導(dǎo)節(jié)點(diǎn) ShortPathPre,最短路徑值 Weight 等。 vWork=。 =null。 =vWork。=vWork。 vWork=。 查詢最短路徑 查詢最短路徑: int flag=0。 通過這一步操作,環(huán)狀的鄰接多重表建立完成。 } } =vHead。 =RoadNode[indexP]。 RoadNode[indexP].Next=。indexPNodeCount。 } 點(diǎn)的數(shù)組建立完成之后,可以開始遍歷線層元素,每取得一個(gè)線元素,則可以得到首尾節(jié)點(diǎn)的 ID,根據(jù)首尾節(jié)點(diǎn) ID(即首尾節(jié)點(diǎn)在數(shù)組中的索引)得到首尾節(jié)點(diǎn),分別為首尾節(jié)點(diǎn)建立鄰接關(guān)系 vLink1 和 vLink2,從線元素獲得首尾節(jié)點(diǎn)的過程的時(shí)間復(fù)雜度為 O( 1),而外層 while 循環(huán)是遍歷線層元素,時(shí)間復(fù)雜度為 O( n),經(jīng)過這一過程 ,拓?fù)潢P(guān)系基本建立完成,由于采用數(shù)組存儲 VERTEX 元素的目的是建立索引,減少建立拓?fù)潢P(guān)系時(shí)點(diǎn)的搜索時(shí)間,因此,拓?fù)潢P(guān)系建立完成后,為了方便運(yùn)算,也為了盡量減少數(shù)組元素所占用的大塊內(nèi)存區(qū)域,把 VERTEX 元素從數(shù)組中摘下并建立環(huán)狀鏈表: vWork=vHead。 RoadNode[indexP2].Neighbor=vLink1。//獲得線元素的 STNODEID 值之后,直接可以得到點(diǎn)節(jié)點(diǎn)在數(shù)組中的位置 =RoadNode[indexP2]。 =RoadNode[indexP1].Neighbor。 =(double)(int)((Weight))。 //依次獲得線元素的 STNODEID、 EDNODEID、 FID 三個(gè)字段的值 vLink1=new Link()。 indexP2=(int)((EDNODEID))。 flag1=flag2=0。 p2=()。 pPointCol=(IPointCollection)。 tEdge++。 pFeatureL=()。 pFeatCsrL=(null,false)。 } 首先建立 VERTEX 數(shù)組,用來存放點(diǎn)節(jié)點(diǎn),在遍歷點(diǎn)層元素的過程中,根據(jù)點(diǎn)的ID 號找到數(shù)組索引號,生成點(diǎn)節(jié)點(diǎn)的實(shí)例(即 VERTEX 實(shí)例)。 RoadNode[indexP].Weight=。 RoadNode[indexP].Searched=0。 RoadNode[indexP].Neighbor=null。 continue。 while(null!=pFeatureP) { indexP=(int)((ID))。 indexP=0。 } VERTEX 類用來存儲點(diǎn)節(jié)點(diǎn), Link 類用來存儲鄰接關(guān)系, SearchLink 是一個(gè)臨時(shí)的中間鄰接關(guān)系,在尋徑時(shí)替代 VERTEX 實(shí)例進(jìn)行運(yùn)算,用來維持鄰接多重
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1