亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于INDY控件的實時精密單點定位星歷獲取程序設計①

        2012-07-18 03:50:34陳明劍
        全球定位系統(tǒng) 2012年2期
        關鍵詞:格式文件數據文件鐘差

        徐 園,楊 力,陳明劍,李 超

        (1.信息工程大學測繪學院,河南 鄭州450052;2.93942部隊,陜西 咸陽712000;3.61082部隊,北京100083)

        0 引 言

        實時精密單點定位技術中最主要的的兩個步驟是減小衛(wèi)星軌道誤差和衛(wèi)星鐘差。由于廣播星歷精度低,達不到精密單點定位的要求。因此,如何實時獲取高精度的衛(wèi)星軌道和衛(wèi)星鐘差是實時精密單點定位的基礎。目前,國際上能提供實時精密軌道和精密鐘差產品的商業(yè)機構主要有美國噴氣推進實驗室(JPL)、加拿大自然資源部(NRCan[2])和歐洲空間局(ESA)。IGS已經提供實時的預報產品(IGU),它的軌道預報精度同IGS最終軌道相差無幾??梢钥紤]利用超快速精密星歷IGU,并通過IGU估計精密衛(wèi)星鐘差來實現實時精密單點定位[3]。隨著科技的發(fā)展,大部分手機和掌上智能設備都集成了GPS模塊和網絡模塊可以實現隨時上網和定位導航功能,通過網絡實時獲取存儲在網絡服務器中的IGU是實現基于網絡的實時精密單點定位的的基礎。當前網絡覆蓋范圍最大的是GPRS,幾乎覆蓋全國,但是GPRS在離基站比較遠的情況下網絡狀態(tài)并不好,這種情況下斷點續(xù)傳就顯得尤為重要。為了實現多個下載任務的并行處理,最好將下載功能放到線程中去運行。

        1 IGS數據文件存放結構及文件名解析

        1.1 文件名解析

        IGS數據文件包括觀測值文件、廣播星歷文件、氣象數據文件、精密星歷文件等。其中觀測值文件、廣播星歷文件和氣象數據文件均采用Rinex格式。精密星歷文件格式有三類;分別為SP1、SP3和SP3C(SP3擴展的一種)[4],常用的精密星歷文件的擴展名是以.sp3為后綴。Rinex格式文件和SP3格式文件命名規(guī)則如表1。

        表1 Rinex格式文件和SP3格式文件的命名規(guī)則

        1.2 IGS數據文件的存放結構

        IGS的所有數據文件均以Z格式壓縮存放在IGS的FTP服務器上,并定時更新。這些數據通過超文本協(xié)議(HTTP)在網頁上可以訪問到。所有的觀測文件分別以年、年積日存放在Rinex路徑下,而所有的精密星歷文件以GPS周存放在Products路徑下。文件壓縮存放的樹形結構如圖1所示。

        圖1 IGS數據文件在FTP服務器上的存儲結構樹圖

        通過分析IGS數據文件的文件名和文件在FTP服務器中存放的結構,可以得到預下載數據文件的URL,從而實現程序自動下載所需要的IGS數據文件。

        2 斷點續(xù)傳下載器的設計

        2.1 Win32Internet API的下載過程

        在Internet互聯(lián)網應用程序支持上,Microsoft提供了Win32Internet API函數支持,此類型的API是由WININET.DLL動態(tài)鏈接函數庫所提供的。Win32Internet API(即 WinInet)幫助實現對gopher、FTP和 HTTP等常用Internet協(xié)議的訪問。使用WinInet可以在較高編程級別上編寫Internet客戶端應用程序,且無須處理 WinSock、TCP/IP和特定Internet協(xié)議的細節(jié)問題。WinInet為所有這三種協(xié)議提供了一組一致的函數,并采用常用的Win32API接口。使用WinInet API下載過程如圖2所示。

        實際使用過程中發(fā)現幾個問題。

        1)網絡狀況不穩(wěn)定時,文件沒有完全下載,但系統(tǒng)仍然報告文件下載成功。

        2)網絡狀況不穩(wěn)定時,文件傳輸過程中斷,任務調度系統(tǒng)的文件傳輸任務被阻塞掛起,造成以后的文件無法下載,只能重新啟動任務調度系統(tǒng)才行。

        3)Win32Internet API中未提供支持斷點續(xù)傳的函數,如果需要實現此功能,必須在Winsock級別進行編程,程序員需要了解很多的FTP協(xié)議、HTTP協(xié)議及編程細節(jié)。

        圖2 使用WinInet下載過程圖

        2.2 基于Indy控件的斷點續(xù)傳下載器設計

        Indy是一個基于Delphi平臺開放且封裝了大多數網絡協(xié)議的組件包。Indy可以通過阻塞方式編寫斷點續(xù)傳的相關程序,采用與Unix系統(tǒng)上等同的阻塞編程模式進行。可以簡單方便的處理程序的運行流程。利用Indy組件包實現多線程斷點續(xù)傳需要Indy控件中的三個主要組件分別是TIdFTP、TIdHTTP和TIdThreadComponent。其中TIdFTP組件用來實現在FTP協(xié)議下的斷點續(xù)傳,而TIdHTTP組件是實現在HTTP協(xié)議下的斷點續(xù)傳,另外TIdThreadComponent組件是一個線程管理的組件。下載程序主要流程設計如圖3所示。

        圖3 使用Indy控件下載流程圖

        在FTP協(xié)議和HTTP協(xié)議下實現斷點續(xù)傳的主要代碼分別如下(所有代碼均在C++Builder 2007環(huán)境下編譯通過):

        void Tfrm_DataDown::FtpDownload(AnsiString aURL,AnsiString filename,bool bResume,TIdFTP*sFTP)//FTP協(xié)議下的下載函數

        ┊//省略部分代碼

        GetFTPParams(aURL,sName,sPass,sHost,sPort,

        sDir);//通過 URL獲取包括用戶名、密碼、主

        機名、端、口、路徑在內的網上文件相關信息。

        if(sFTP->Connected()) sFTP->Disconnect();

        //如果連接,則斷開連接

        sFTP->Username=sName;//賦予用戶名

        sFTP->Password=sPass;//賦予用戶密碼

        sFTP->Host=sHost;//賦予主機地址

        sFTP->Port= StrToInt(sPort);//賦予端口地址

        sFTP->Connect();//連接FTP

        sFTP->ChangeDir(sDir);

        BytesToTransfer=sFTP->Size(filename);

        try

        if(bResume)//如果定義斷點續(xù)傳

        tStream->Position=tStream->Size;//獲

        取已下載文件流的位置

        sFTP->Get(filename,tStream,true);//繼續(xù)

        下載未完成部分

        else//未定義斷點續(xù)傳

        sFTP->Get(filename,tStream,false);//重新下載文件

        //省略部分代碼

        }void Tfrm_DataDown::HttpDownload(AnsiString aURL,AnsiString filename,bool bResume,TIdHTTP*sHTTP)//HTTP協(xié)議下的下載函數{

        ┊//省略部分代碼

        sHTTP->Request->ContentRangeStart=

        tStream->Size-1;//開始下載的位置

        tStream->Position=tStream->Size-1;//獲

        取已下載文件大小

        sHTTP->Head(aURL);

        sHTTP->Request->ContentRangeEnd=

        sHTTP->Response->ContentLength;

        Else

        sHTTP->Request->ContentRangeStart=

        0;//重新下載

        try

        sHTTP->Get(aURL,tStream);//下載文件

        ┊//省略部分代碼

        至于下載過程的一些細節(jié)問題,例如進度條顯示、下載信息、下載速率等可以在TIdFTP、TIdHTTP組件的相應響應事件 OnWork、On-WorkBegin、OnWorkEnd和OnStatus中添加相應代碼來實現。通過反復試驗,該程序可以下載IGS FTP服務器上的數據文件,也可以采用HTTP協(xié)議通過IGS網頁上的鏈接下載相關的IGS數據文件,同時支持多個下載任務并行和斷點續(xù)傳下載。如圖4所示。

        圖4 IGS數據文件下載圖

        3 結 論

        精密單點定位技術已經愈發(fā)成熟并在高精度測量領域中發(fā)揮著越來越重要的作用。實時精密單點定位技術近幾年也已經興起,隨著科技的發(fā)展,內置GPS模塊的智能手機和掌上智能設備的普及率越來越高,與此同時移動網絡的覆蓋范圍越來越廣,不久就能實現全球網絡的無縫覆蓋。本身集成Indy控件的幾個較新版本的開發(fā)平臺如Embarcadero RAD Studio XE1、Embarcadero RAD Studio XE2等已支持市場上大部分掌上智能操作系統(tǒng)的開發(fā)。因此,設計并實現基于Indy控件的IGS數據文件的下載程序是有必要的,它是通過一部手機或掌上智能設備進行實時精密單點定位的一種有效途徑。

        [1]MUELLERSCHOEN R J,BERTIGER W I,LOU GH M F,et al.Results of an internet-based dualfrequency global dif-ferential GPS system [C]∥Proceedings of IAIN World Congress.San Diego,CA,June 2000.

        [2]COLLINS P,LAHAYE F,KOUBA J,et al.Realtime WADGPS corrections from undifferenced carrier phase[C]∥Proceedings of ION-N TM-2001.California:ION,2001.

        [3]李 黎,匡翠林,朱建軍,等.基于IGU預報軌道實時估計精密衛(wèi)星鐘差[J].大地測量與地球動力學,2011,31(2):111-115.

        [4]趙桂儒,徐 平,吳培稚.IGS服務數據下載軟件的研制[J].地震地磁觀測與研究,2007,28(3):104-109.

        猜你喜歡
        格式文件數據文件鐘差
        使用“格式文件”將徠卡儀器數據導出成cass 格式的方法
        IGS快速/超快速衛(wèi)星鐘差精度評定與分析
        數據文件恢復專題問答
        數據文件安全管控技術的研究與實現
        SQL數據文件恢復工具
        實時干涉測量中對流層延遲與鐘差精修正建模
        載人航天(2016年4期)2016-12-01 06:56:24
        編寫徠卡TS02型全站儀格式文件的方法探索
        基于拉格朗日的IGS精密星歷和鐘差插值分析
        回歸基礎 到底什么是RAW格式文件?
        基于Office Open XML格式文件的電子取證方法研究
        警察技術(2015年6期)2015-02-27 15:38:18
        亚洲日韩中文字幕无码一区| 国产成版人性视频免费版| 中文字幕av素人专区| 国产精品成人无码久久久久久 | 亚洲成a∨人片在无码2023| 亚洲免费av电影一区二区三区| 61精品人妻一区二区三区蜜桃| 美女扒开腿露内裤免费看| 日本乱偷人妻中文字幕| 欧美做受视频播放| 亚洲一区二区成人在线视频| 蜜桃视频一区二区三区四| 国产精品美女久久久久av福利| 十八岁以下禁止观看黄下载链接| 久久久精品中文无码字幕| 粉嫩人妻91精品视色在线看| 免费人成年激情视频在线观看| 亚洲女人被黑人巨大进入| 无码一区二区丝袜| 亚洲男人免费视频网站| 日本乱偷人妻中文字幕| 亚洲免费观看| 亚洲中文有码一区二区| 极品嫩模大尺度av在线播放| 国产无人区码一码二码三mba | 人妻无码AⅤ不卡中文字幕| 国产又湿又爽又猛的视频| 久久人人爽av亚洲精品| 在教室伦流澡到高潮h麻豆| 亚洲老熟妇愉情magnet| 四季极品偷拍一区二区三区视频| 亚洲色成人www永久在线观看| 在线免费观看国产精品| 91蜜桃精品一区二区三区毛片| 日本xxxx色视频在线观看免费| 越猛烈欧美xx00动态图| www.亚洲天堂.com| 亚洲av三级黄色在线观看| 三叶草欧洲码在线| 无码人妻AⅤ一区 二区 三区| 国产一区二区三区白浆肉丝|