• 
    

    
    

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

      GrADS網(wǎng)絡(luò)交互繪圖技術(shù)及應(yīng)用

      2019-05-31 01:35:02趙奎鋒
      陜西氣象 2019年3期
      關(guān)鍵詞:腳本語言色標(biāo)服務(wù)器端

      趙奎鋒

      (1.陜西省氣象局秦嶺和黃土高原生態(tài)環(huán)境氣象重點(diǎn)實(shí)驗(yàn)室,西安 710016;2.陜西省氣象科學(xué)研究所,西安 710016)

      氣象實(shí)況觀測數(shù)據(jù)是站點(diǎn)離散數(shù)據(jù),在氣象預(yù)報(bào)服務(wù)和科研工作中,常常用到科學(xué)繪圖技術(shù)對這些離散數(shù)據(jù)進(jìn)行分析,勾畫氣象要素面上的分布情況,以便直觀地呈現(xiàn)其分布特點(diǎn)。實(shí)際業(yè)務(wù)中,經(jīng)常使用的科學(xué)繪圖軟件有Golden Surfer、NCL(the NCAR command language)、GrADS(grid analysis and display system,格點(diǎn)分析和顯示系統(tǒng))等[1-4],其中GrADS 是當(dāng)今氣象學(xué)科中廣泛使用的數(shù)據(jù)處理和顯示軟件系統(tǒng),可讀取格點(diǎn)或站點(diǎn)氣象資料(二進(jìn)制或GRIB 碼格式),并進(jìn)行加工處理??蓪?shí)現(xiàn)等值線、流線、填圖、地圖、曲線等多種圖形顯示。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,基于WEB技術(shù)的在線資料共享方式受到歡迎,但是多數(shù)共享采用的是資料后臺(tái)處理成圖表后的靜態(tài)共享,較少采用網(wǎng)絡(luò)在線交互出圖。OpenGrADS是基于GrADS的擴(kuò)展,提供CGI(common gate interface,公共網(wǎng)關(guān)接口)接口,支持WEB環(huán)境下的交互出圖。本文介紹結(jié)合Python軟件利用OpenGrADS進(jìn)行觀測數(shù)據(jù)在線交互繪圖的技術(shù)及應(yīng)用。

      2 相關(guān)技術(shù)

      2.1 Python CGI

      Python是一種解釋腳本語言,類似 VBScript、JavaScript、Perl等腳本語言。如圖1所示,Python的CGI編程,是利用WEB服務(wù)器和一個(gè)Python自定義的腳本之間交換信息。通過設(shè)立的HTTP服務(wù)器,在某個(gè)目錄中的文件被請求作為一個(gè)程序執(zhí)行,并將結(jié)果發(fā)送到瀏覽器來顯示。這個(gè)函數(shù)被調(diào)用的通用網(wǎng)關(guān)接口或CGI程序稱為CGI腳本[5-6]。

      圖1 Python CGI架構(gòu)圖

      IIS(Internet information services,互聯(lián)網(wǎng)信息服務(wù))常常用來搭建WEB運(yùn)行環(huán)境。對于一些簡單的通用網(wǎng)關(guān)接口腳本,IIS使用windows scripting host來解析VBScript 和 JavaScript,而對于Python的CGI腳本語言,IIS使用配置的Python腳本解釋程序來解析,其配置需要在IIS管理器中將擴(kuò)展名為“.py”的程序映射到Python安裝目錄的執(zhí)行程序,并賦予“全部動(dòng)作”執(zhí)行的權(quán)限即可。通過配置,給IIS運(yùn)行python CGI程序搭建了運(yùn)行環(huán)境。

      2.2 OpenGrADS

      OpenGrADS是一個(gè)致力于改進(jìn)GrADS的界面和擴(kuò)展性的項(xiàng)目。它通過改進(jìn)用戶定義命令和自定義功能,允許用戶添加自己的動(dòng)態(tài)鏈接插件,引入了PHP、Perl和Python等腳本語言,使其可以基于GrADS發(fā)展更多的擴(kuò)展,并且十分方便地與WEB結(jié)合,應(yīng)用于網(wǎng)絡(luò)交互界面[7]。

      從1.9 rc1版本開始,OpenGrADS增加了一項(xiàng)功能,即實(shí)現(xiàn)了對GIS的Shape地圖文件的支持,通過調(diào)用Shape格式的地理信息數(shù)據(jù)庫的數(shù)據(jù)非常簡便地繪制出地圖底圖[8]。

      3 設(shè)計(jì)思路

      3.1 離散數(shù)據(jù)的提取、修正與格點(diǎn)化處理

      服務(wù)器端存儲(chǔ)了自動(dòng)氣象站、區(qū)域站的觀測數(shù)據(jù)。由于設(shè)備故障或其他因素,可能存在一些奇異數(shù)據(jù),尤其以區(qū)域站的奇異數(shù)據(jù)最多;因此,在從CIMISS(China intergrated meteorological information service system,全國綜合氣象信息共享系統(tǒng))中通過MUSIC(meteorological unified service interface community,氣象數(shù)據(jù)統(tǒng)一服務(wù)接口)提取站點(diǎn)離散數(shù)據(jù)后,需加以修正之后才可以用來繪圖。

      這里用到Python CGI程序處理數(shù)據(jù)。如圖2左側(cè)所示,通過表單用戶選取起止時(shí)間,服務(wù)器端利用CGI程序從CIMISS共享系統(tǒng)中提取該時(shí)段的自動(dòng)站、區(qū)域站數(shù)據(jù),在線交互修改、消除奇異值后,提交給數(shù)據(jù)處理分析程序,將其加工成GrADS所支持的格式。上述經(jīng)修正的數(shù)據(jù)為文本格式,要通過轉(zhuǎn)換格式處理為GrADS所支持二進(jìn)制數(shù)據(jù)[9]。

      圖2 網(wǎng)絡(luò)交互GrADS繪圖流程

      3.2 OpenGrADS繪圖

      如圖2所示,在Python CGI程序中導(dǎo)入OpenGrADS模塊,代碼如下:

      import grads

      from grads.gacore import GaCore

      導(dǎo)入OpenGrADS模塊后,添加如下代碼以打開ctl描述文件:

      ga('openaws_mask.ctl', Quiet=True, Block=True)

      ga('openaws.ctl')

      利用“ga”命令可以運(yùn)行桌面版GrADS的gs腳本,從而設(shè)置x坐標(biāo)軸、y坐標(biāo)軸、色斑圖顏色、等值線間隔、色標(biāo)標(biāo)注方式、地圖底圖等[10]。

      值得一提的是,自從GrADS2.0.a8版本開始,GrADS引入了對SHP地圖的支持,可以非常方便地自定義繪制地域范圍,通過地理信息系統(tǒng)定義好地圖之后,在繪圖時(shí)調(diào)用即可,代碼如下:

      ga('set mpdraw off'') #關(guān)閉默認(rèn)地圖

      ga('draw shp shaanxi)#繪制以shaanxi.shp命名的地圖

      還可以根據(jù)需要將河流的SHP地圖文件疊加繪制到圖形中。繪制完成后,將圖形存于WEB服務(wù)器的目錄下,并在瀏覽器中顯示,代碼如下:

      ga('printimaws.png x1000 y773 white')

      4 應(yīng)用效果

      在業(yè)務(wù)應(yīng)用中,通過動(dòng)態(tài)WEB頁面的交互,可以提供多個(gè)選項(xiàng)以便繪制出符合業(yè)務(wù)服務(wù)需求的標(biāo)準(zhǔn)圖形。如:起止時(shí)間段、數(shù)據(jù)類型(國家自動(dòng)氣象站、區(qū)域氣象站或者兩者混合輸出)、色標(biāo)類型(是否采用中國氣象局規(guī)定的色標(biāo))、繪制地圖的區(qū)域(全國或某省某市范圍)、插值的分辨率、疊加的地圖(地質(zhì)災(zāi)害易發(fā)區(qū)、河流、交通信息等)。這些選擇通過WEB以表單形式選擇。由于GrADS對中文的支持不足,可以通過Python豐富的圖形處理插件對圖形進(jìn)行后期處理,如標(biāo)注圖形名稱、時(shí)間區(qū)間、數(shù)量單位等信息,減少了業(yè)務(wù)人員后期處理的工作量。

      5 小結(jié)與討論

      (1)交互環(huán)境下的快速實(shí)時(shí)繪圖是氣象業(yè)務(wù)服務(wù)不可或缺的技術(shù),在交互環(huán)境下選擇繪圖起止時(shí)間段、行政區(qū)域、分辨率參數(shù),疊加河流和地質(zhì)災(zāi)害易發(fā)區(qū)等地理信息,業(yè)務(wù)人員還可以對奇異數(shù)據(jù)進(jìn)行訂正,能繪制出反映天氣情況的真實(shí)圖形。

      (2)利用Python語言的擴(kuò)展性和豐富的插件,便捷地部署CGI交互環(huán)境,同時(shí)由于OpenGrADS具有Python擴(kuò)展庫,使得GrADS能部署于服務(wù)器端,從而能提供快速繪圖的網(wǎng)絡(luò)環(huán)境。

      (3)GrADS2.0.a8版本開始引入了對SHP地圖的支持,極大地方便了自定義行政區(qū)域范圍的繪圖,采用中國氣象局規(guī)定的色標(biāo)繪制符合標(biāo)準(zhǔn)的圖形,通過Python豐富的圖形處理插件對圖形進(jìn)行后期處理,減少了業(yè)務(wù)人員后期處理的工作量。

      猜你喜歡
      腳本語言色標(biāo)服務(wù)器端
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      一種面向SSC的電信增值業(yè)務(wù)的生成方法及實(shí)現(xiàn)
      基于Unity3D的坦克大戰(zhàn)游戲設(shè)計(jì)與實(shí)現(xiàn)
      探討智能型色標(biāo)傳感器的原理與應(yīng)用
      適應(yīng)國標(biāo)改革新局面,部署行業(yè)標(biāo)準(zhǔn)新發(fā)展——有色標(biāo)委會(huì)召開工作會(huì)議
      在Windows中安裝OpenVPN
      淺析計(jì)算機(jī)技術(shù)在flash動(dòng)畫中的應(yīng)用
      自救互救藥品包裝色標(biāo)有效性實(shí)證分析
      基于SiPESC平臺(tái)的Python擴(kuò)展模塊開發(fā)
      智能型色標(biāo)檢測光電傳感系統(tǒng)
      阿鲁科尔沁旗| 苗栗县| 柘城县| 读书| 沁水县| 含山县| 买车| 澜沧| 昌平区| 基隆市| 灵武市| 肥乡县| 铁岭县| 怀来县| 滦平县| 武隆县| 兰考县| 绥德县| 萝北县| 泽州县| 北安市| 柯坪县| 武鸣县| 万州区| 缙云县| 天水市| 乌兰县| 青神县| 河北区| 诸暨市| 修文县| 黎城县| 南部县| 盘山县| 兴和县| 西林县| 建昌县| 黄梅县| 广宗县| 崇礼县| 广河县|