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

設計模式實現ECharts在GIS中的快速應用

2019-11-03 13:11:42謝祎楊建欽岳翔呼和
電腦知識與技術 2019年24期

謝祎 楊建欽 岳翔 呼和

摘要:針對服務GIS平臺,本文研究了GIS結合ECharts實現統計圖功能的技術與方法。著重闡述了通過兩種設計模式重新構造創建和調用插件接口,并提出了設計重構接口的原則和思路。最后通過項目實踐驗證了在這些原則思路在GIS平臺中的推廣應用中的效果及意義。

關鍵詞:海洋石油;GIS平臺;ECharts;設計模式

中圖分類號:TP391? 文獻標識碼:A

文章編號:1009-3044(2019)24-0018-02

開放科學(資源服務)標識碼(OSID):

基于純Web前臺技術的GIS平臺作為一種跨平臺、可運行于移動設備的新型可視化工具,目前在海洋石油很多系統中得到了廣泛的應用,為海洋石油中下游信息化提供了強大的GIS圖形化支撐。統計圖以其形象具體、簡明生動、通俗易懂、一目了然的特點成在很多信息化應用中成為必備的功能。在海洋石油使用GIS平臺的眾多應用中都提出了對統計圖功能的需求。

本文介紹了利用軟件設計模式中的工廠及外觀模式對現目前流行的ECharts統計圖開源代碼包進行重新包裝設計,為功能使用者提供能方便融入現有GIS平臺、針對業務邏輯的、簡單易用的調用接口,為現有系統使用開源代碼擴展新功能提供了一種成熟可行的思路。

1 研究思路及實現步驟

1.1 研究思路

GIS平臺作為一個跨專業、多應用和集中展示的海洋石油專業業務的綜合工作平臺,服務于海洋石油勘探開發業務的科研、管理及決策工作。該平臺在海油勘探、開發等專業已經有很好地應用,并取得了很好的效果。基于多個應用需求,GIS急需在平臺中加入統計圖功能。經過調研,ECharts開源庫成為最優方案。ECharts是一個當前流行功能強大的統計圖表可視化開源功能庫,使用純Web前端技術實現,可以流暢地運行在 PC 和移動設備上,兼容當前絕大部分瀏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),提供直觀,交互豐富,可高度個性化定制的數據可視化圖表以及常規的折線圖、柱狀圖、散點圖、餅圖、K線圖,非常契合當前GIS平臺對統計圖功能的使用要求。實現統計圖功能的思路就是將ECharts開源包融合進GIS平臺,并給統計功能使用者提供簡單易用的調用接口。

1.2 面臨的問題

由于ECharts功能強大,覆蓋領域較廣,導致其參數系統設置復雜,學習使用較為困難,需要有經驗的開發者經過較長時間習才能掌握。另外ECharts還需要和現有GIS平臺融合,這需要二次開發人員對GIS平臺本身有較深入了解,這在實際應用中就大大增加了使用難度,延長了開發周期,增加了開發成本,不利于其在各專業系統的推廣應用。為了解決上述問題,首先要實現GIS平臺和ECharts整合,讓后續使用該功能的開發者無須關注ECharts融入GIS平臺的細節。第二,對于最需要花時間進行學習設置的復雜參數進行接口簡化,讓后繼開發者只需關注和實際業務邏輯相關的統計數據、標題等參數設置。

2 實現步驟

2.1 使用工廠模式對創建過程進行封裝

對于ECharts的整合問題,我們決定采用軟件設計中的工廠模式,工廠模式是一種實例化對象模式,是用工廠方法代替new操作的一種模式,在工廠模式中,我們在創建對象時不會對客戶端暴露創建邏輯,而是通過使用一個共同的接口來返回新創建的對象。

在具體實現中,創建能被GIS使用的ECharts實例的復雜邏輯被隱藏在創建工廠中,二次開發人員在創建ECharts只需要編寫簡單代碼,如下所示:

var myEChart = L.echartsFactory.createInstance([30, 118], [160, 160], map, "marker002");

調用者只需指定要顯示的位置、大小、以及可后繼對其進行操控的ID,即可創建出已經和GIS平臺融合好的ECharts實例。使用者完全不用關注ECharts和GIS平臺的融合問題。

2.1.2 使用外觀模式重新設計調用接口

對于ECharts原有功能調用接口過于復雜,需要大量時間學習才能掌握的問題。我們運用外觀模式對調用接口進行了重新封裝設計。外觀模式(Facade Pattern)屬于結構型設計模式,它向現有的系統添加一個接口,來隱藏系統的復雜性,降低訪問復雜系統的內部子系統時的復雜度,簡化客戶端與之的接口。這種模式涉及一個單一的類,該類提供了客戶端請求的簡化方法和對現有系統類方法的委托調用。

如圖1所示,在原有設計中,用戶調用系統功能時,每個用戶對各子系統以及子系統間的相互關系都要進行學習了解,這直接導致開發難度加大,開發周期變長。且用戶程序和各系統間形成緊耦合,不利于將來的系統升級維護。

圖2的方案用外觀模式加了統一的高層接口,該高層接口負責和子系統進行交互,每個用戶不必需要了解子系統的細節,只需調用這個經過簡化的面向業務邏輯高層接口就可以。在GIS項目的具體實施中,我們給ECharts設計添加了外層裝飾類(EChartsDecorator),對外只提供設置統計數據、設置統計圖標題、顯示、關閉等和業務邏輯相關的接口。調用者不必關注ECharts內部技術細節,讓開發人員很短時間內就能學習掌握,大大提高了開發效率。 示例代碼:

myEChart.setTitle('我的項目圖1'); //設置統計圖標題

myEChart.setXAxis(['地質儲量(公司)', '地質儲量(國家)', '技術可采(公司)', '技術可采(國家)', '經濟可采(公司)', '經濟可采(國家)', '經濟可采(上市)']); //設置X軸各列名稱

var series = [ //統計數據

{ name: 'P1', data: [xxxxxx.x, xxxxxx.xx, xxxxxxx.xx, xxxxx.xx, xxxxx.xx, xxxxx.xx, xxxxx.xx],},

{ name: 'P2', data: [xxxxxx.xx, xxxxx.xx, xxxxx.xx, xxxxx.xx, xxxx.x, x, xxxx.xx], },

{ name: 'P3', data: [xxxxx.xx, xxxxx.xx, xxxxx.xx, xxxx.xx, x.xx, x, xxx.xx], },

];

myEChart.setSeriesData(series); //設置統計數據

myEChart.showChart(); //開始顯示統計圖

如上例代碼所示,后續開發者只需提供具體的統計圖數據、統計圖名稱、坐標名稱等和用戶業務邏輯相關的參數,即可實現統計圖功能。調用接口直觀易懂,開發人員很容易理解掌握,短時間內就可實現項目需求,方便了其在各專業項目的推廣使用。

2.2 應用效果

如圖3所示,GIS平臺主界面的是海洋石油海域GIS遙感底圖。粉紅色多邊形是加載的油氣田空間對象,上面顯示的則是其生產數據相關的統計圖(虛構數據)。目前GIS平臺的統計功能已應用于公司的油氣儲量評估及管理系統,并取得了良好的應用效果。

3 應用意義

針對海洋石油勘探專業的需求目標,為原有的GIS添加了統計圖功能接口。其重要的實用意義在于:

1) GIS平臺有了瀏覽空間對象的統計圖功能,大大增強了GIS平臺滿足應用需求的能力。

2)并且通過此次實踐,摸索出了一套簡化復雜接口的模式。大大縮短了未來開發者學習使用GIS統計功能的周期,方便了GIS平臺的推廣應用,這種設計原則非常適合應用于GIS平臺未來新功能接口的開發。

參考文獻:

[1] 張云飛,張欽,楊建欽,等. 基于空間對象的公共GIS模型及其在海洋石油信息化中的應用.中國海上油氣,2009 21(3); 211-214.

[2] ECharts2.0 官網[EB/OL]. http://echarts.baidu.com/echarts2/index.html

[3] [日] 結城浩. 圖解設計模式[M].北京:人民郵電出版社,2017.

【通聯編輯:梁書】

主站蜘蛛池模板: 97久久人人超碰国产精品| 久久精品视频亚洲| 国产成人精品视频一区二区电影| 99青青青精品视频在线| 国产欧美日韩资源在线观看| 亚洲av无码人妻| 久久国产拍爱| 永久在线播放| 日本久久网站| 亚洲精品第五页| 国产91蝌蚪窝| 色婷婷色丁香| 5388国产亚洲欧美在线观看| 日韩欧美国产三级| 日本在线视频免费| 中文字幕在线日本| 亚洲欧美自拍一区| av大片在线无码免费| 五月婷婷综合网| 少妇极品熟妇人妻专区视频| 92午夜福利影院一区二区三区| 色偷偷av男人的天堂不卡| 成人免费一区二区三区| 国产91无毒不卡在线观看| 一级片免费网站| 国产精品成人久久| 天堂中文在线资源| 国产在线视频自拍| 久久亚洲国产视频| 99久久精品国产麻豆婷婷| 亚洲成a人片77777在线播放| 婷婷亚洲天堂| 71pao成人国产永久免费视频| 国产亚洲日韩av在线| 秋霞午夜国产精品成人片| 青青草原国产一区二区| 18黑白丝水手服自慰喷水网站| 欧美国产另类| 亚洲国产综合精品一区| 亚洲国产成人超福利久久精品| 人妻精品久久无码区| 高清色本在线www| 最新加勒比隔壁人妻| 色哟哟国产精品一区二区| 超碰免费91| 91视频精品| 日本亚洲成高清一区二区三区| 国产欧美另类| 久久精品这里只有国产中文精品| 国产交换配偶在线视频| 在线观看国产精品一区| 国产高清国内精品福利| 久久国产成人精品国产成人亚洲 | 91欧美在线| 99性视频| 久久香蕉国产线看精品| 中文字幕1区2区| 欧美特黄一级大黄录像| 成人毛片免费观看| 老司机精品99在线播放| 在线观看91精品国产剧情免费| 色屁屁一区二区三区视频国产| 国产亚洲精品yxsp| 97超碰精品成人国产| 精品少妇人妻av无码久久| 国产成人亚洲欧美激情| 欧美一级特黄aaaaaa在线看片| 国产96在线 | 国产精品xxx| 亚洲色图欧美视频| 欧美日一级片| 美女扒开下面流白浆在线试听 | 亚洲欧洲日韩国产综合在线二区| 国产精品一区在线观看你懂的| 精品成人一区二区三区电影| 成人一级免费视频| 国产日韩丝袜一二三区| 超薄丝袜足j国产在线视频| 国产国语一级毛片在线视频| 2020国产在线视精品在| 国产女人在线视频| 少妇极品熟妇人妻专区视频|