• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    海上溢油應(yīng)急系統(tǒng)的開發(fā)

    2015-04-12 00:00:00李雅明于夢如李琳李培良楊波
    現(xiàn)代電子技術(shù) 2015年4期

    摘 要: 針對海上溢油事故的頻繁發(fā)生以及給海洋環(huán)境帶來的巨大損失,搭建了基于ASP.NET海上溢油應(yīng)急系統(tǒng)。該系統(tǒng)采用瀏覽器/服務(wù)器(B/S)模式,通過Ajax技術(shù),實現(xiàn)服務(wù)器端與瀏覽器端的異步傳輸,提高網(wǎng)頁響應(yīng)速度。其WebGIS地圖服務(wù)由柵格地圖技術(shù)與矢量可標記語言(VML)結(jié)合實現(xiàn),彌補了單純柵格地圖表達力不足的情況。當出現(xiàn)溢油事故時,系統(tǒng)可迅速對溢油事件進行預(yù)測模擬,并將溢油的漂移擴散情況可視化,直觀方便,為發(fā)現(xiàn)溢油后做出緊急決策提供支持。該系統(tǒng)的應(yīng)用解決了海上溢油搜索發(fā)現(xiàn)困難的情況,可以更好地控制溢油給海洋環(huán)境帶來的危害。

    關(guān)鍵詞: 溢油預(yù)測; ASP.NET; B/S; 地圖服務(wù)

    中圖分類號: TN919?34; TP319 文獻標識碼: A 文章編號: 1004?373X(2015)04?0050?03

    通過發(fā)生的大大小小溢油事件來看,溢油對于海洋環(huán)境的破壞以及對財產(chǎn)損失都非常巨大?,F(xiàn)在不僅要對溢油采取提前的預(yù)防措施,更要在事件后采取強有力的補救措施。所以,對于海上溢油系統(tǒng)的開發(fā)就成為了一個研究的課題。本文主要研究了利用ASP.NET技術(shù)構(gòu)海上溢油應(yīng)急系統(tǒng),采用了瀏覽器/服務(wù)器(B/S)模式,遠程用戶可以通過瀏覽器訪問網(wǎng)站,來預(yù)測或查詢溢油信息,相對于大多數(shù)采用的客戶端/服務(wù)器(C/S)模式來說,具有便于維護、易于管理、使用范圍廣等優(yōu)點。

    1 系統(tǒng)設(shè)計

    海上溢油應(yīng)急系統(tǒng)主要目標:

    (1) 對于溢油信息實行存儲與管理。

    (2) 直觀的對溢油預(yù)測圖像信息進行展示與演示。

    (3) 具有較強的操作性,適用于大多數(shù)人。

    1.1 系統(tǒng)總體設(shè)計

    海上溢油系統(tǒng)在Microsoft Visual Studio 2008進行集成開發(fā),基于ASP.NET技術(shù)[1],采用B/S三層架構(gòu),包含客戶端瀏覽器、服務(wù)器以及數(shù)據(jù)庫3部分[2]??蛻舳擞蒍avaScript實現(xiàn)部分事物邏輯;服務(wù)器端由C#實現(xiàn)主要事物邏輯。數(shù)據(jù)庫則采用SQL Server 2008存儲數(shù)據(jù)信息。

    1.2 數(shù)據(jù)庫設(shè)計

    數(shù)據(jù)庫的搭建對于海上溢油應(yīng)急系統(tǒng)具有十分重要的作用。該系統(tǒng)使用的是SQL Server 2008數(shù)據(jù)庫,它具有可信任、高效、智能等特點。通過使用ADO.NET技術(shù)訪問數(shù)據(jù)[3?4],數(shù)據(jù)庫無需一直鏈接,可以在緩存中查看、修改、刪除數(shù)據(jù),程序可使用更少的資源,節(jié)省時間,且提高了性能與協(xié)調(diào)力。圖1主要展示ADO. NET的5個對象以及之間的聯(lián)系。Connection對象負責鏈接數(shù)據(jù)庫,Command對象負責對數(shù)據(jù)庫執(zhí)行命令,DataReader對象用于從數(shù)據(jù)源中檢索只讀數(shù)據(jù)集,DataAdapter對象負責數(shù)據(jù)集和數(shù)據(jù)庫的聯(lián)系,DataSet對象用于存儲臨時數(shù)據(jù)表。

    1.3 地圖設(shè)計

    該系統(tǒng)采用柵格地圖技術(shù)與矢量可標記語言(VML)[5]的融合來實現(xiàn)網(wǎng)站地圖服務(wù)。柵格地圖是將地圖按照縮放級別進行切割并將同一比例的組織在一起,以gif形式存放在服務(wù)器中。在瀏覽器端查看地圖時,客戶端需先計算切片數(shù)量與序號,服務(wù)器僅將需要的圖片傳遞過去,再拼接成一體顯示??蛻舳诉\用JavaScript和Ajax與服務(wù)器交互,使得用戶在拖動時感覺不出拼接,且極大降低服務(wù)器的負擔,響應(yīng)速度較快。

    與VML的結(jié)合使得地圖的功能得到增強,且VML無需與服務(wù)器進行交互,提高了效率。測距和測面積的實現(xiàn)依賴于VML與JavaScript交互。使用VML時,需將VML容器加入到HTML對象中,以下為具體實現(xiàn):

    2 系統(tǒng)主要功能

    海上溢油系統(tǒng)主要功能為:

    (1) 記錄查詢

    選擇起始時間與結(jié)束時間,以時間為條件檢索記錄,默認顯示30天內(nèi)的溢油記錄。

    (2) 溢油預(yù)測

    溢油預(yù)測包括預(yù)測模型、預(yù)測條件、預(yù)測結(jié)果三方面。預(yù)測模型分為單點模型、單點持續(xù)模型、管道模型與管道持續(xù)以及大面積模型。 預(yù)測條件包括溢油時間、溢油地點、持續(xù)時間、油的種類、溢油數(shù)量以及油粒子數(shù),持續(xù)模式還包含連續(xù)溢油時間以及單位時間溢油量,如圖2所示。預(yù)測結(jié)果分為溢油軌跡、擴散范圍、油膜濃度,能夠以動畫形式連續(xù)播放油粒子運動軌跡,更加直觀地展示溢油隨時間的變化情況。油膜面積、掃海面積及剩余油量以時間過程曲線圖展現(xiàn)。

    (3) 地圖功能

    其功能包括放大、縮小地圖,地圖漫游,距離測量與面積測量,其中縮放有12個級別。

    3 系統(tǒng)關(guān)鍵技術(shù)

    3.1 Ajax技術(shù)

    Ajax即異步JavaScript及XML,在瀏覽器向服務(wù)器請求數(shù)據(jù)時,不再需要傳遞整個頁面,而是將少量的請求數(shù)據(jù)傳遞給瀏覽器,使網(wǎng)絡(luò)更流暢[6?7]。AjaxPro是.NET平臺下的一個回調(diào)式Ajax框架,系統(tǒng)調(diào)用此框架來實現(xiàn)異步傳輸?shù)墓δ?。配置web.config文件代碼為:

    使用時需先注冊,在C#調(diào)用方法前需加上[AjaxPro.AjaxMethod],方能實現(xiàn)異步傳輸。

    3.2 C#和Fortran混合編程

    C#與Fortran的混合編程[8],利用C#實現(xiàn)可視化效果,用FORTRAN編寫的過程進行所有的計算工作。在程序中,必須以C#為主程序來調(diào)用FORTRAN程序。實現(xiàn)混合編程的關(guān)鍵就是將FORTRAN計算程序編譯為動態(tài)鏈接(dll),而后在C#中調(diào)用此動態(tài)鏈接庫。

    通過C#中的委托來調(diào)用封裝好的dll,步驟為:

    (1) 聲明委托:

    public delegate void DllFunction();

    (2) 加載dll:

    DllInvoke dll = new DllInvoke(dllPath, dllName);

    (3) 獲取相應(yīng)的委托實例:

    DllFunction function = (DllFunction)dll.Invoke(\"OILSPILL\", typeof(DllFunction));

    (4) 調(diào)用函數(shù):

    function();

    (5) 釋放dll:

    FreeLibrary(_hLib);

    Fortran編寫的程序中要注意必須有以下兩句:

    ! FUNCTIONS/SUBROUTINES exported from OILSPILL.dll:

    !OILSPILL ? subroutine

    4 系統(tǒng)實現(xiàn)

    用戶通過瀏覽器登錄海上溢油應(yīng)急系統(tǒng),選擇溢油時間、地點等相關(guān)參數(shù),點擊“開始預(yù)測”按鈕,系統(tǒng)前端將以json形式通過Ajax技術(shù)將溢油參數(shù)傳給服務(wù)器端,服務(wù)器端通過調(diào)用由fortran編寫的動態(tài)鏈接庫(dll)對數(shù)據(jù)進行運算,預(yù)測結(jié)果以文本形式和nc文件形式保存在相應(yīng)文件夾中,溢油參數(shù)通過ado.net技術(shù)寫入sql數(shù)據(jù)庫中,服務(wù)器端將溢油結(jié)果畫圖并生成圖片傳到前端瀏覽器,流程圖如圖3所示。

    系統(tǒng)所需的風場和流場數(shù)據(jù)于每天8點會自動上傳到服務(wù)器中,其數(shù)據(jù)位包括當天在內(nèi)的未來3天的預(yù)測值,一旦溢油發(fā)生,可隨時投入計算。

    下面是模擬2014年9月20日4點30分發(fā)生的溢油事件,其模式為管道持續(xù),溢油起始坐標為119.056 4°E,23.819 91°N,結(jié)束坐標為119.070 7°E, 23.818 07°N;粒子數(shù)為1 000,持續(xù)溢油時間5 h,單位溢油量是4 t/h,追蹤時間為20 h,間隔為1 h,圖4為第7個小時的溢油結(jié)果。

    5 結(jié) 語

    海上溢油應(yīng)急系統(tǒng)實現(xiàn)對發(fā)現(xiàn)溢油事件的油膜漂移及軌跡的及時準確的預(yù)報,為發(fā)現(xiàn)溢油后做緊急決策提供強有力的支持。將柵格地圖和VML結(jié)合的地圖服務(wù)與溢油模型進行結(jié)合,使地圖相響效率得到提高,且地圖功能得到增強。

    參考文獻

    [1] 洪惠群,朱耿青,吳楠楠,等.基于ASP.NET的災(zāi)情信息系統(tǒng)的設(shè)計[J].現(xiàn)代電子技術(shù),2013,36(14):73?76.

    [2] 李旭榮.基于B/S的高校協(xié)同辦公平臺的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(6):36?38.

    [3] 吳楊,孫蔚.B/S 模式下ADO.NET 數(shù)據(jù)庫訪問技術(shù)的設(shè)計及應(yīng)用[J].電子測試,2014(2):45?46.

    [4] 江凌,楊平利,楊梅,等.基于ADO.NET技術(shù)訪問SQL Server數(shù)據(jù)庫的編程實現(xiàn)[J].現(xiàn)代電子技術(shù),2014,37(8):95?98.

    [5] 蔡錦輝,陸明典.用VML構(gòu)建基于WebGIS的交通氣象服務(wù)系統(tǒng)[J].氣象研究與應(yīng)用,2014,35(2):60?62.

    [6] 熊文,熊淑華,孫旭.Ajax技術(shù)在Web 2.0網(wǎng)站設(shè)計中的應(yīng)用研究[J].計算機技術(shù)與發(fā)展,2012,22(3):145?148.

    [7] 張?zhí)鞂m,徐婧,宋昊.Ajax技術(shù)在WebGIS系統(tǒng)中的性能優(yōu)化研究[J].現(xiàn)代電子技術(shù),2013,36(11):162?164.

    [8] 張凱華,郭金運,胡志博. Fortran與C#混合編程在衛(wèi)星測高中的應(yīng)用[J].計算機技術(shù)與發(fā)展,2014,24(5):48?52.

    [9] 任鋼,王國棟.云計算架構(gòu)下的安全生產(chǎn)應(yīng)急預(yù)測預(yù)警系統(tǒng)的設(shè)計和應(yīng)用[J].軟件工程,2012,33(7):1?4.

    [10] 李全,韓增.溢油應(yīng)急響應(yīng)系統(tǒng)的設(shè)計和研究[J].油田環(huán)境保護,2013,23(6):76?79.

    佛坪县| 蓝田县| 海丰县| 山西省| 平定县| 安溪县| 漾濞| 广平县| 麻栗坡县| 德安县| 全州县| 隆昌县| 荆门市| 丹凤县| 寻甸| 河南省| 崇文区| 长治市| 太谷县| 施甸县| 育儿| 伊吾县| 衡山县| 临朐县| 繁昌县| 邳州市| 登封市| 屯门区| 来凤县| 建水县| 巴彦淖尔市| 漾濞| 富民县| 远安县| 越西县| 兴山县| 南川市| 宜兰市| 阿勒泰市| 霍城县| 库尔勒市|