999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2012-07-18 03:50:34陳明劍
全球定位系統 2012年2期

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

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

0 引 言

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

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

1.1 文件名解析

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

表1 Rinex格式文件和SP3格式文件的命名規則

1.2 IGS數據文件的存放結構

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

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

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

2 斷點續傳下載器的設計

2.1 Win32Internet API的下載過程

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

實際使用過程中發現幾個問題。

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

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

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

圖2 使用WinInet下載過程圖

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

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

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

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

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

┊//省略部分代碼

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)//如果定義斷點續傳

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

取已下載文件流的位置

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

下載未完成部分

else//未定義斷點續傳

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

//省略部分代碼

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

┊//省略部分代碼

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);//下載文件

┊//省略部分代碼

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

圖4 IGS數據文件下載圖

3 結 論

精密單點定位技術已經愈發成熟并在高精度測量領域中發揮著越來越重要的作用。實時精密單點定位技術近幾年也已經興起,隨著科技的發展,內置GPS模塊的智能手機和掌上智能設備的普及率越來越高,與此同時移動網絡的覆蓋范圍越來越廣,不久就能實現全球網絡的無縫覆蓋。本身集成Indy控件的幾個較新版本的開發平臺如Embarcadero RAD Studio XE1、Embarcadero RAD Studio XE2等已支持市場上大部分掌上智能操作系統的開發。因此,設計并實現基于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預報軌道實時估計精密衛星鐘差[J].大地測量與地球動力學,2011,31(2):111-115.

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

主站蜘蛛池模板: 欧美精品xx| 国产美女在线观看| 亚洲成人网在线播放| 国产精品无码翘臀在线看纯欲| 国产一区二区三区视频| 亚洲区第一页| 亚洲精品桃花岛av在线| 日韩精品无码不卡无码| 国产精品区视频中文字幕| 午夜a视频| 在线观看av永久| 亚洲国产日韩视频观看| 亚洲男人的天堂在线| 综合亚洲网| 男人天堂伊人网| 国产一级视频久久| 男人的天堂久久精品激情| 天堂网亚洲系列亚洲系列| 伦伦影院精品一区| 欧美不卡二区| 亚洲天堂视频网站| 亚洲第一香蕉视频| 深爱婷婷激情网| 又爽又黄又无遮挡网站| 国内精自视频品线一二区| 91九色国产在线| 人妻精品全国免费视频| 日韩成人免费网站| 欧美亚洲国产一区| 亚洲最大综合网| 黄色片中文字幕| 一区二区三区成人| 国产一区二区三区视频| 无码丝袜人妻| 99视频有精品视频免费观看| 一区二区日韩国产精久久| 亚洲精品少妇熟女| 欧美日韩一区二区三| 搞黄网站免费观看| 青青草原国产av福利网站| 亚洲天堂.com| 欧美国产三级| 亚洲三级a| 精品一区二区无码av| 久青草国产高清在线视频| 亚洲欧洲日本在线| 亚洲国产精品日韩av专区| 欧美区一区| 免费欧美一级| 免费人成视网站在线不卡| 伊人色天堂| 亚洲色图在线观看| 亚洲色图欧美一区| 欧美视频在线观看第一页| 国产嫖妓91东北老熟女久久一| 国产人成网线在线播放va| 在线不卡免费视频| 欧美国产精品不卡在线观看 | 亚洲一区黄色| 久久久久国产精品嫩草影院| 丰满人妻被猛烈进入无码| 又粗又硬又大又爽免费视频播放| 婷婷色一二三区波多野衣| 99久久精品免费看国产电影| 国产美女在线免费观看| 久久久久人妻精品一区三寸蜜桃| 99视频在线免费看| 91麻豆精品视频| 精品成人一区二区三区电影| 青青操视频免费观看| 精品福利网| 手机成人午夜在线视频| 国产在线第二页| 成人精品午夜福利在线播放| 狠狠色丁香婷婷| 三级毛片在线播放| 国产粉嫩粉嫩的18在线播放91| 91精品啪在线观看国产60岁| 99久久国产精品无码| 国产老女人精品免费视频| 成人午夜精品一级毛片| 久久人人97超碰人人澡爱香蕉|