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

GrADS網絡交互繪圖技術及應用

2019-05-31 01:35:02趙奎鋒
陜西氣象 2019年3期

趙奎鋒

(1.陜西省氣象局秦嶺和黃土高原生態環境氣象重點實驗室,西安 710016;2.陜西省氣象科學研究所,西安 710016)

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

2 相關技術

2.1 Python CGI

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

圖1 Python CGI架構圖

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

2.2 OpenGrADS

OpenGrADS是一個致力于改進GrADS的界面和擴展性的項目。它通過改進用戶定義命令和自定義功能,允許用戶添加自己的動態鏈接插件,引入了PHP、Perl和Python等腳本語言,使其可以基于GrADS發展更多的擴展,并且十分方便地與WEB結合,應用于網絡交互界面[7]。

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

3 設計思路

3.1 離散數據的提取、修正與格點化處理

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

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

圖2 網絡交互GrADS繪圖流程

3.2 OpenGrADS繪圖

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

import grads

from grads.gacore import GaCore

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

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

ga('openaws.ctl')

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

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

ga('set mpdraw off'') #關閉默認地圖

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

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

ga('printimaws.png x1000 y773 white')

4 應用效果

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

5 小結與討論

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

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

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

主站蜘蛛池模板: 精品无码国产一区二区三区AV| 91探花国产综合在线精品| 国产嫩草在线观看| 波多野结衣在线一区二区| 欧美三级视频在线播放| JIZZ亚洲国产| 国产日韩精品一区在线不卡| 日本不卡在线| 97久久免费视频| 亚洲一区二区三区中文字幕5566| 在线国产毛片| 中文无码精品a∨在线观看| 免费观看男人免费桶女人视频| 国产成人夜色91| 久久天天躁夜夜躁狠狠| 成人国产精品视频频| 精品福利一区二区免费视频| 日韩色图在线观看| 91人妻日韩人妻无码专区精品| 婷婷色丁香综合激情| 亚洲第一黄片大全| 国产导航在线| 国产第一页亚洲| 亚洲欧美日韩精品专区| 国内精自视频品线一二区| 国产亚洲精品yxsp| 亚洲人成网站色7799在线播放| 欧美黄网站免费观看| 伊人天堂网| 亚洲愉拍一区二区精品| 伊人天堂网| 乱人伦视频中文字幕在线| 午夜福利网址| 一本大道香蕉久中文在线播放| 在线观看国产网址你懂的| 日本在线视频免费| 欧美精品黑人粗大| 国产精品分类视频分类一区| 亚洲三级影院| 欧美成人日韩| 亚洲va欧美va国产综合下载| h视频在线播放| 国产精品私拍在线爆乳| 99这里只有精品在线| 国内精品伊人久久久久7777人| 无码网站免费观看| 日本精品中文字幕在线不卡| 伊人成人在线视频| 久久精品国产免费观看频道| www.youjizz.com久久| 在线中文字幕日韩| 91毛片网| 丁香婷婷久久| A级全黄试看30分钟小视频| 九九这里只有精品视频| 99久久人妻精品免费二区| 永久在线精品免费视频观看| 午夜福利网址| 无码高潮喷水在线观看| 国产黄色爱视频| 免费亚洲成人| 免费观看欧美性一级| 四虎综合网| 91娇喘视频| 亚洲国产天堂久久综合226114| 国产无遮挡猛进猛出免费软件| 国产欧美日韩一区二区视频在线| 为你提供最新久久精品久久综合| 亚洲男人的天堂视频| 在线观看精品自拍视频| 国产91久久久久久| 精品综合久久久久久97超人该| 在线欧美国产| 伊人福利视频| 成年女人a毛片免费视频| 欧美日韩精品综合在线一区| 四虎永久免费在线| 亚洲系列无码专区偷窥无码| 一区二区欧美日韩高清免费| 91小视频在线播放| 无码免费的亚洲视频| 国产精品香蕉|