• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AJAX技術(shù)實(shí)現(xiàn)Web前端GPS數(shù)據(jù)質(zhì)量分析

      2014-02-19 03:49:46曾泛林陳尚貴
      地理空間信息 2014年6期
      關(guān)鍵詞:檢核歷元選項(xiàng)卡

      曾泛林 , 洪 偉, 陳尚貴

      (1.廣州市房地產(chǎn)測(cè)繪院,廣東 廣州 510030;2.廣東省國(guó)土資源測(cè)繪院,廣東 廣州 510500)

      在進(jìn)行GPS數(shù)據(jù)精密處理時(shí),通常需要對(duì)GPS觀測(cè)數(shù)據(jù)進(jìn)行質(zhì)量檢核分析,根據(jù)分析結(jié)果對(duì)數(shù)據(jù)進(jìn)行針對(duì)性的編輯和取舍,以提高數(shù)據(jù)處理的質(zhì)量。數(shù)據(jù)質(zhì)量檢核一般采用功能強(qiáng)大且簡(jiǎn)單易用的GPS數(shù)據(jù)預(yù)處理軟件TEQC完成[1]。在TEQC檢核完成后通常采用第三方工具對(duì)結(jié)果進(jìn)行圖形化顯示。目前普遍采用的圖形化軟件一類是DOS程序如QCVIEW、CF2PS等,需要以命令行方式操作,在Windows XP之后的版本中必須采用輔助工具如DosBox才能運(yùn)行,輸出的圖形格式(Postscript)也必須使用專用軟件才能打開(kāi)[2];另一類是Matlab程序如TEQCPlot等,則依賴Matlab平臺(tái),需要使用者首先熟悉Matlab[3]。這2類軟件每次都只能讀入并顯示一個(gè)統(tǒng)計(jì)項(xiàng),在對(duì)數(shù)據(jù)進(jìn)行編輯之后需要頻繁地重新執(zhí)行TEQC檢核和生成圖形,操作效率低。本文開(kāi)發(fā)了基于AJAX技術(shù)的Web前端GPS數(shù)據(jù)質(zhì)量檢核分析應(yīng)用,可以很便利地在Web頁(yè)面提交數(shù)據(jù),無(wú)需安裝任何軟件,也不依賴任何平臺(tái)即可在前端生成交互性極強(qiáng)的數(shù)據(jù)分析界面。一次讀取即可反復(fù)進(jìn)行剔除衛(wèi)星、時(shí)間軸開(kāi)窗、單獨(dú)顯示某顆衛(wèi)星數(shù)據(jù)等功能,具有很好的實(shí)用性。

      1 TEQC數(shù)據(jù)檢核原理及設(shè)計(jì)思路

      質(zhì)量檢核是TEQC最主要的功能,通過(guò)命令行方式進(jìn)行。其基本原理是通過(guò)偽距和相位觀測(cè)量的線性組合計(jì)算出觀測(cè)量的多路徑效應(yīng)、電離層延遲對(duì)相位的影響、電離層延遲的變化率以及接收機(jī)的鐘漂和周跳等[3]。

      根據(jù)是否采用導(dǎo)航文件,TEQC分qc-lite和qcfull兩種模式進(jìn)行檢核。qc-lite模式共生成7個(gè)結(jié)果文件,分別為匯總文件(*.??S)、 載波電離層延遲文件(*.ion)、電離層延遲變化率文件(*.iod)、 載波C/A碼或P碼偽距多路徑效應(yīng)影響文件(*.mp1)、 載波 P碼偽距多路徑效應(yīng)影響文件(*.mp2)、 載波信噪比文件(*.sn1)、 載波信噪比文件(*.sn2)等。對(duì)于qc-full方式,如果導(dǎo)航數(shù)據(jù)文件和觀測(cè)數(shù)據(jù)文件在同一目錄下,則TEQC會(huì)自動(dòng)搜索導(dǎo)航數(shù)據(jù)文件,檢核的結(jié)果除了生成上面的7個(gè)文件以外,還有另外兩個(gè)數(shù)據(jù)文件:*.azi(方位角文件)、*.ele(高度角文件)[1]。所有統(tǒng)計(jì)項(xiàng)都以浮點(diǎn)數(shù)值表示。

      TEQC統(tǒng)計(jì)結(jié)果文件的格式除匯總文件*.??S外,其他統(tǒng)計(jì)文件的格式都一致,類似RINEX文件分為頭部信息和數(shù)據(jù)信息,前幾行分別列出衛(wèi)星編號(hào)、采樣間隔、開(kāi)始時(shí)間(約化儒略日)等關(guān)鍵信息,從大約第5行開(kāi)始記錄每次發(fā)生鎖星變化時(shí)鎖定的衛(wèi)星數(shù)和衛(wèi)星列表,再下一行為衛(wèi)星列表中每個(gè)衛(wèi)星在每個(gè)歷元的對(duì)應(yīng)觀測(cè)值,以-1標(biāo)識(shí)符結(jié)束該歷元。根據(jù)統(tǒng)計(jì)文件的格式,可以編寫(xiě)程序讀取統(tǒng)計(jì)信息,以歷元為橫軸,統(tǒng)計(jì)值為縱軸,生成觀測(cè)值相對(duì)歷元的分布情況圖表,直觀地進(jìn)行判斷。

      開(kāi)發(fā)分前端和后端2部分,前端開(kāi)發(fā)主要采用AJAX技術(shù)。AJAX是一種“異步”的數(shù)據(jù)交互方式,對(duì)于較為頻繁的Web端操作以及與服務(wù)器端的數(shù)據(jù)傳輸,可以用最小的數(shù)據(jù)傳輸量和局部重載來(lái)減少響應(yīng)時(shí)間。JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,是Javascript的內(nèi)置數(shù)據(jù)結(jié)構(gòu)。由于占用空間小,解析速度快,已成為了使用AJAX技術(shù)開(kāi)發(fā)時(shí)的首選方式[4]。本文采用jQuery作為前端開(kāi)發(fā)框架,并采用功能強(qiáng)大的開(kāi)源圖表庫(kù)Highcharts進(jìn)行圖形開(kāi)發(fā)。

      服務(wù)器端的開(kāi)發(fā)采用Nginx作為Web服務(wù)器,采用基于Python語(yǔ)言的Web框架Django以MVC(模型-視圖-控制器)方式進(jìn)行開(kāi)發(fā)。服務(wù)器端的開(kāi)發(fā)主要是調(diào)用TEQC進(jìn)行數(shù)據(jù)檢核統(tǒng)計(jì),并根據(jù)統(tǒng)計(jì)結(jié)果的文件格式生成JSON格式文件供前端調(diào)用。

      整個(gè)流程如下:Web前端上傳數(shù)據(jù)提交給服務(wù)器,服務(wù)器端調(diào)用TEQC進(jìn)行數(shù)據(jù)質(zhì)量分析統(tǒng)計(jì),并生成JSON文件保存到網(wǎng)站下指定目錄,在Web前端發(fā)生jQuery的getJSON請(qǐng)求之后,JS加載該JSON文件并解析,解析結(jié)果傳遞給圖表庫(kù)Highcharts,在Web前端生成可見(jiàn)各單項(xiàng)統(tǒng)計(jì)結(jié)果的圖形,如圖1。在Web前端發(fā)生交互如禁用衛(wèi)星、時(shí)間軸開(kāi)窗等動(dòng)作時(shí),jQuery重新加載JSON數(shù)據(jù)并重新初始化Highcharts對(duì)象,刷新Web前端的圖表[5]。

      圖1 總體流程圖

      2 前后端AJAX方式開(kāi)發(fā)

      2.1 AJAX交互過(guò)程

      Web前端的交互過(guò)程為:

      1)頁(yè)面載入時(shí)即加載jQuery,為改善用戶體驗(yàn),在初次載入頁(yè)面時(shí)默認(rèn)加載某一統(tǒng)計(jì)項(xiàng)的JSON格式文件,初始化Highcharts對(duì)象;

      2)點(diǎn)擊面板切換時(shí)根據(jù)面板內(nèi)容采用getJSON方法加載對(duì)應(yīng)的統(tǒng)計(jì)結(jié)果JSON格式文件;

      3)解析JSON數(shù)據(jù),獲取起始時(shí)間、觀測(cè)時(shí)長(zhǎng)、采樣間隔、衛(wèi)星列表、衛(wèi)星列表中每顆衛(wèi)星在每個(gè)歷元對(duì)應(yīng)觀測(cè)值等數(shù)據(jù);

      4)給Highcharts對(duì)象賦值,更新Highcharts的div塊數(shù)據(jù),頁(yè)面局部刷新;

      5)發(fā)生禁用衛(wèi)星、時(shí)間軸開(kāi)窗等交互動(dòng)作時(shí)重新加載JSON并初始化Highcharts對(duì)象數(shù)組。

      2.2 服務(wù)器端開(kāi)發(fā)

      服務(wù)器端采用Linux系統(tǒng)為平臺(tái),Nginx為Web服務(wù)器提供靜態(tài)解析,基于Python語(yǔ)言的Django框架進(jìn)行開(kāi)發(fā),uwsgi進(jìn)行Python語(yǔ)言的解析。開(kāi)發(fā)的重點(diǎn)是視圖(View),思路是在數(shù)據(jù)上傳完成時(shí)生成shell命令,調(diào)用Linux版本的TEQC對(duì)數(shù)據(jù)進(jìn)行檢核。

      在Django項(xiàng)目urls.py中增加視圖對(duì)應(yīng)的URL,在上傳完成時(shí)跳轉(zhuǎn)該URL進(jìn)行視圖函數(shù)調(diào)用[6]。

      urlpatterns = patterns('',

      url(r'teqc/', views.teqc),

      ……

      在執(zhí)行完成TEQC質(zhì)量檢核后,使用Python語(yǔ)言的JSON模塊從統(tǒng)計(jì)結(jié)果文件中抓取相關(guān)數(shù)據(jù)并生成對(duì)應(yīng)的JSON格式文件。JSON文件的格式如下所示:

      {"svinfo": [ //衛(wèi)星數(shù)據(jù)數(shù)組

      {"sv": "05","epoch": [//衛(wèi)星編號(hào)和從開(kāi)始?xì)v元起每個(gè)歷元對(duì)應(yīng)的數(shù)值

      {"v": "0.000","e": 0},{"v": "-0.227","e": 1}……

      ]}

      "epochnumber": 604,//總歷元數(shù)

      "interval": 10, //采樣間隔

      "satslist": ["05","15","21","24","26","29","18","14","22","12"],//衛(wèi)星列表

      "starttime": [2013, 11, 30, 8, 53, 40]//起始時(shí)間

      }

      2.3 前端提交數(shù)據(jù)控件

      Web前端提交數(shù)據(jù)采用jQuery控件jQuery File Upload,該控件以XHR作為上傳方式,并且可以實(shí)現(xiàn)類似批量上傳、超大文件上傳、圖片預(yù)覽、拖拽上傳、上傳進(jìn)度顯示、跨域上傳等功能,并可以通過(guò)CSS控制顯示樣式,可以制作美觀友好的上傳界面,如圖2。

      圖2 上傳文件控件

      2.4 Web前端開(kāi)發(fā)

      jQuery中使用getJSON方法來(lái)調(diào)用并獲取遠(yuǎn)程的JSON字符串,將其轉(zhuǎn)換為JSON對(duì)象。如果成功,則執(zhí)行回調(diào)函數(shù)。getJSON方法將Javascript的AJAX方法進(jìn)行封裝,不需要檢查瀏覽器和緩存,調(diào)用方便。方法定義為:

      jQuery.getJSON( url, data, callback);[7]

      設(shè)計(jì)目標(biāo)是通過(guò)選項(xiàng)卡(tabs)切換來(lái)調(diào)用不同的JSON文件生成各個(gè)統(tǒng)計(jì)項(xiàng)結(jié)果,因此需要將各個(gè)統(tǒng)計(jì)項(xiàng)JSON格式文件與選項(xiàng)卡關(guān)聯(lián)起來(lái)。當(dāng)鼠標(biāo)點(diǎn)中某個(gè)選項(xiàng)卡時(shí),獲取該選項(xiàng)卡對(duì)應(yīng)的JSON文件名:

      $j(".casting li").click(function(){

      jsonname = $j(".casting.active").attr("id");

      });

      再將Class為casting li的選項(xiàng)卡綁定getJSON方法,當(dāng)點(diǎn)擊選項(xiàng)卡時(shí)即根據(jù)jsonname讀取對(duì)應(yīng)的JSON文件:

      $j(".casting li").click(function(){

      $j.getJSON("json/" + jsonname + '.js', function(json){

      ……

      2.5 Highcharts庫(kù)調(diào)用

      Highcharts是一款Javascript開(kāi)源庫(kù),提供數(shù)10種圖表類型以及豐富的組合選項(xiàng),能輕易在Web前端生成美觀協(xié)調(diào)、功能完善的圖表。本文采用Spline類型的圖表,考慮到要實(shí)現(xiàn)的功能,主要設(shè)置如下:

      1)橫軸xAxis選擇datetime類型以顯示時(shí)間軸,間隔pointInterval以ms為單位,將其設(shè)置為JSON文件中實(shí)際采樣間隔,歷元開(kāi)始時(shí)間則是將JSON文件中的開(kāi)始時(shí)間轉(zhuǎn)換成UTC時(shí)間。zoomType設(shè)置為”X”則開(kāi)啟窗選放大功能,可實(shí)現(xiàn)時(shí)間軸開(kāi)窗功能。

      2)以TEQC統(tǒng)計(jì)項(xiàng)數(shù)值為縱軸yAxis賦值,根據(jù)選項(xiàng)卡ID選擇對(duì)應(yīng)的數(shù)值單位。

      3)plotOptions用于設(shè)置圖表中的數(shù)據(jù)點(diǎn)相關(guān)屬性,在圖表中存在多個(gè)數(shù)據(jù)列時(shí),Highcharts提供了一個(gè)非常有用的設(shè)置項(xiàng)即showcheckbox,可以對(duì)每列數(shù)據(jù)產(chǎn)生一個(gè)checkbox,單擊可以顯示或隱藏該列數(shù)據(jù),并實(shí)時(shí)刷新圖表,可用來(lái)實(shí)現(xiàn)禁用某顆衛(wèi)星。

      4)以JSON文件中的衛(wèi)星列表大小確定Highcharts的options選項(xiàng)的數(shù)組數(shù)量options.series,按列表中對(duì)應(yīng)衛(wèi)星數(shù)據(jù)分別按歷元賦值,無(wú)數(shù)據(jù)的歷元賦值null,在完成賦值后調(diào)用$j('#teqcview).highcharts(options),立即生成圖表。

      3 實(shí)驗(yàn)驗(yàn)證

      以圖2中提交的RINEX數(shù)據(jù)為例,首先對(duì)數(shù)據(jù)進(jìn)行命令行方式的質(zhì)量檢核,命令為:

      teqc +qc G1723340.13o

      從生成的匯總文件G1723340.13S中提取相關(guān)統(tǒng)計(jì)信息如下:觀測(cè)時(shí)長(zhǎng):1.678 h;采樣間隔:10 s;數(shù)據(jù)可用率:79%;L1多路徑影響值MP1:0.37;L2多路徑影響值MP2:0.57;歷元和周跳的比值O/Slip:64。

      從統(tǒng)計(jì)信息中可見(jiàn),該數(shù)據(jù)的MP2數(shù)值較大,而數(shù)據(jù)可用率較低。將數(shù)據(jù)在Web前端提交,服務(wù)器端調(diào)用TEQC進(jìn)行統(tǒng)計(jì)后共生成8個(gè)JSON文件,在前端以選項(xiàng)卡的形式生成統(tǒng)計(jì)圖表,點(diǎn)中MP2選項(xiàng)卡,查看MP2統(tǒng)計(jì)結(jié)果,如圖3。

      圖3 以選項(xiàng)卡形式顯示數(shù)據(jù)MP2統(tǒng)計(jì)結(jié)果

      從圖3可以看到,有幾顆衛(wèi)星的MP2值有比較大的波動(dòng)。將鼠標(biāo)移動(dòng)到曲線上查看衛(wèi)星編號(hào)和對(duì)應(yīng)歷元的MP2數(shù)值,確定這幾顆衛(wèi)星編號(hào)分別為05、14、29。另外在觀測(cè)時(shí)段最后一段大約從10:20起MP2值普遍較大,因此在圖表界面進(jìn)行下面的操作:

      1)在圖表下面勾掉S05、S14、S29三個(gè)checkbox,即剔除這三顆衛(wèi)星的數(shù)據(jù);

      2)從觀測(cè)開(kāi)始位置進(jìn)行窗選,到X軸10:20位置結(jié)束。

      執(zhí)行完這兩步操作后圖表將進(jìn)行AJAX方式刷新,刷新后的圖表即為剔除這三顆衛(wèi)星并截除最后一段數(shù)據(jù)后的新的MP2圖表,如圖4。從該新圖表中可以看出總體均勻分布在零軸兩側(cè),且沒(méi)有過(guò)大的數(shù)值。

      圖4 剔除衛(wèi)星并截取時(shí)段后MP2統(tǒng)計(jì)結(jié)果

      此時(shí)重新使用TEQC命令行方式執(zhí)行該編輯策略,命令為:

      teqc–G05,14,29 –e20131130102000 G1723340.13o>G1723341.13o

      再對(duì)新生成的觀測(cè)數(shù)據(jù)文件執(zhí)行質(zhì)量檢核,并與未編輯數(shù)據(jù)進(jìn)行對(duì)比,對(duì)比結(jié)果如表1。

      表1 編輯前和編輯后RINEX數(shù)據(jù)TEQC統(tǒng)計(jì)結(jié)果對(duì)比

      從表1可以看出,MP1、MP2明顯降低,數(shù)據(jù)可用率也有了提高。使用附近3個(gè)CORS站數(shù)據(jù)作為起算點(diǎn),采用GAMIT軟件對(duì)編輯前和編輯后兩個(gè)數(shù)據(jù)分別進(jìn)行單點(diǎn)基線解算[8],結(jié)果見(jiàn)表2。

      表2 編輯前和編輯后基線解算精度統(tǒng)計(jì)

      從表2可以看出,經(jīng)過(guò)編輯后基線解算結(jié)果各項(xiàng)精度指標(biāo)都有所提高,驗(yàn)證了經(jīng)過(guò)圖形化的檢核分析后進(jìn)行的數(shù)據(jù)編輯能夠有效提高解算質(zhì)量。

      4 結(jié) 語(yǔ)

      通過(guò)實(shí)驗(yàn)驗(yàn)證,基于AJAX技術(shù)、使用開(kāi)源jQuery控件如jQuery File Upload和Highcharts、結(jié)合前后端技術(shù)開(kāi)發(fā)的GPS數(shù)據(jù)檢核分析應(yīng)用,相對(duì)于常規(guī)的GPS數(shù)據(jù)質(zhì)量分析方式,具有以下明顯優(yōu)勢(shì):

      1)操作簡(jiǎn)便,不依賴任何平臺(tái)和軟件,直接提交即可在Web頁(yè)面生成圖表;

      2)一次性生成全部統(tǒng)計(jì)圖表,可以用選項(xiàng)卡的方式點(diǎn)擊切換,生成圖表清晰美觀,可全部或單獨(dú)顯示衛(wèi)星的對(duì)應(yīng)數(shù)值;

      3)可直接在圖表上進(jìn)行衛(wèi)星剔除、時(shí)間軸開(kāi)窗等操作,無(wú)需重新加載數(shù)據(jù)可刷新圖表,相比常規(guī)軟件,效率提高數(shù)倍;

      4)圖片可直接另存為png/jpg/pdf/svg等常用格式,無(wú)需使用第3方工具??上仍趫D表中進(jìn)行操作以剔除較差的數(shù)據(jù)和時(shí)段,再以生成的圖形制定編輯策略使用TEQC進(jìn)行編輯,以提高數(shù)據(jù)處理的效率和質(zhì)量。

      [1]范世杰,郭際明,彭秀英.TEQC在GPS數(shù)據(jù)預(yù)處理中的應(yīng)用與分析[J].測(cè)繪信息與工程,2004,29(2):33-35

      [2]趙紅強(qiáng),郭際明,李宗華,等.繪圖工具QCVIEW在GPS數(shù)據(jù)預(yù)處理中的應(yīng)用[J].測(cè)繪通報(bào),2008(11):44-46,67

      [3]賈寶媛,黃張?jiān)?,楊富春,?基于Matlab的TEQC在GPS數(shù)據(jù)預(yù)處理中的應(yīng)用[J].海洋測(cè)繪,2012,32(2):52-54

      [4]欒紹鵬,朱長(zhǎng)青.Ajax在WebGIS中的應(yīng)用研究[J].測(cè)繪科學(xué),2006,32(5):158-160

      [5]王濤濤.基于AJAX技術(shù)的Web前端星歷預(yù)報(bào)方法與實(shí)現(xiàn)[J].地理空間信息,2013,11(5):52-54

      [6]Forcier J, Bissex P, 徐旭銘.Django Web開(kāi)發(fā)指南[M].北京:機(jī)械工業(yè)出版社,2009

      [7]單東林,張曉菲,魏然.鋒利的jQuery[M].北京:人民郵電出版社,2009

      [8]王志強(qiáng),李軍.GAMIT使用指南[J].全球定位系統(tǒng),2002(2):36-39

      猜你喜歡
      檢核歷元選項(xiàng)卡
      從“檢核”到“鷹架”
      歷元間載波相位差分的GPS/BDS精密單點(diǎn)測(cè)速算法
      垂直荷載木結(jié)構(gòu)大跨屋頂設(shè)計(jì)
      禁用一切 優(yōu)化無(wú)限
      Recent advances of TCM treatment of childhood atopic dermatitis
      檢核目錄法的研究與應(yīng)用—以書(shū)架設(shè)計(jì)為例
      Clinical observation of Huatan Huoxue Formula in treating coronary heart disease with hyperlipidemia
      Mechanism of sex hormone level in biological clock disorder induced acne and analysis of TCM Pathogenesis
      福建省廈門第一中學(xué)黃建通老師:中學(xué)生創(chuàng)新思維課程引入“奧斯本檢核表技法”
      Windows 8專欄
      东海县| 车险| 平邑县| 尼玛县| 务川| 长宁县| 长治市| 宿州市| 宁乡县| 博客| 双江| 普兰店市| 铜鼓县| 洪湖市| 曲麻莱县| 安康市| 敖汉旗| 神池县| 石楼县| 巴林左旗| 讷河市| 安吉县| 泰兴市| 祁门县| 青阳县| 乐清市| 宁德市| 新余市| 南川市| 贵州省| 扎赉特旗| 修武县| 成都市| 双峰县| 丹东市| 泰安市| 屏边| 万载县| 大足县| 邢台县| 遂昌县|