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

基于開源軟件的Web GIS地震大數據綜合平臺

2018-03-07 02:40:54石曉輝劉克輝胡旭輝
科技資訊 2018年33期

石曉輝 劉克輝 胡旭輝

摘 要:采用互聯網行業流行的Elastic Search、OpenStreetMap、Leaflet、jQuery、ECharts等開源軟件技術,提出了一種基于局域網Web GIS地圖服務和分布式NoSQL數據庫,實現Web客戶端與服務端之間的大數據交互方案。不依賴于桌面GIS和MATLAB專業軟件,實現低成本、跨平臺的快速開發。為有效解決互聯網時代海量空間信息相關的數據存儲和可視化交互問題提供了一種新思路,在需要進行GIS大數據可視化交互的地震、氣象等行業具有很高的實用價值。

關鍵詞:Web GIS 大數據交互 Elastic Search 開發框架 離線地圖

中圖分類號:P315 文獻標識碼:A 文章編號:1672-3791(2018)11(c)-0014-03

Abstract: A solution of big data interaction between web server and client is proposed using Elastic Search, OpenStreetMap, Leaflet, jQuery and ECharts technologies. The solution is based on LAN map server and distributed NoSQL database. It can be high performance, low cost and cross-platform Supporting, independent of desktop GIS and MATLAB. It can be a new method to solve the problem of storing and interacting between big data, which has the attribute of GIS information. It can be applied in the field, which needs visual interaction of big data, such as seismological and meteorological fields.

Key Words: Web GIS; Big data interaction; Elastic Search;Development framework; Offline map

伴隨著現代互聯網技術的成熟和大數據技術的發展,我們擁有了更好的數據利用能力,如何應用這些強有力的工具,將已有數據以有意義的方式來實現可視化和良好交互,挖掘揭示隱藏在這些數據背后的潛在信息,是一項非凡的工作。

海量空間信息大數據對新一代的Web GIS系統也提出了新的要求。傳統GIS由于數據互操作性差、共享能力弱等特點正在逐漸衰退,Web GIS逐漸占據主流,目前,地圖服務廠商和GIS廠商都有自己的Web GIS產品,如Google Map Javascript API、Arc GIS API for Javascript等,除此之外,出現了越來越多的Javascript開源Web GIS客戶端,如Leaflet、Openlayers、Map Easy、Open Scales等。由于開源 GIS產品具有免費、開放、可擴展性和可定制性強,以及開發周期短、成本低等特點,基于開源GIS軟件的應用項目越來越多[1-5]。但是這些項目基本都只是利用了GIS的地圖顯示功能,鮮有將這些具有空間信息屬性的海量業務數據進行存儲、挖掘、并可視化交互的綜合平臺應用。

本平臺基于分布式Elastic Search搜索引擎,局域網地圖服務器,能夠實現地震行業海量業務數據的存儲、查詢和可視化交互,尤其關注對數據的多樣化聚合分析,提供了良好交互界面以提供輔助決策,對于歷史數據量大、地理空間數據敏感的相關行業具有很高的應用價值。

1 平臺架構設計

技術選型是項目和產品開發中一個不可缺少的環節,在軟件架構中有著舉足輕重的作用。傳統的前后端耦合在一起的模式,不能滿足當前環境下的大數據、高并發等需求,如.NET的WebForm模式已經逐漸被MVC取代[6]。本平臺采用的B/S結構,從軟件架構上來講將整個平臺抽象為兩部分,即前端和后端,兩者通過REST接口來交互數據。前端主要注重用戶交互界面和少部分判斷邏輯的實現,并且完全通過Web瀏覽器渲染展現。

而后端主要負責業務建模、邏輯流程以及數據處理。客戶只需要有常用的Web瀏覽器即可,不需要安裝任何插件,對系統硬件資源沒有特別的要求。

1.1 后端穩健的Flask開源Web框架

Flask是隨著Python興起的一種可擴展微框架(micro framework),功能可根據相應的擴展包進行擴展。平臺數據流控制等部分都可以由框架來處理完成,我們只需關注具體的業務邏輯開發,在提升開發效率的同時,穩定性進一步增強。

所謂“微框架”并不代表Flask功能不強。微框架中的“微”字表示Flask的目標是保持核心簡單而又可擴展。 Flask可以變成你任何想要的東西,一切恰到好處。Flask通過擴展可以為應用添加額外功能,如數據庫整合、表單驗證、上傳處理和各種開放驗證等等。

1.2 前端使用Jinja2+ECharts+Leaflet組合模式

Jinja2是Python下一個被廣泛應用的模版引擎,它的設計思想來源于Django的模板引擎,并擴展了其語法和一系列強大的功能,可以快速生成html文件。

Leaflet和Openlayer是兩個主要的開源前端地圖交互類庫。兩者的開放程度都很高,但是考慮到Leaflet在桌面端和移動端都有著極好的兼容和支持,并可以擴展插件,本平臺選擇了Leaflet。

ECharts4.0是百度開發的一款商用級開源數據可視化工具,一個純Javascript的圖表庫,創新的拖拽重計算、數據視圖、值域漫游等特性大大增強了用戶體驗,對大數據渲染、數據集、跨平臺無障礙訪問的技術特性為平臺的大數據挖掘、整合提供了很好的支撐。

5.1 代碼結構

按照flask框架要求部署.py、.ini、.js、.html、.wsgi文件,如圖3所示。其中fixFunc.py和evaluation.py為核心業務處理腳本。

實現過程中的核心代碼如下。

(1)后端業務處理。

程序初始化導入Excel,讀取地震臺站配置信息代碼節選:workbook=xlrd.open_workbook(os.path.join(path,"config\\background-noise.xlsx"))flask接受前端請求,對分布式數據庫中的海量數據進行批量檢索代碼節選:es_result =helpers.scan(es,query={"_source": ["lng","lat","mag"],"query":{"range":{"mag":{"gt":Interval,"lte":Interval+1}}}},scroll= "10m",index="magdir",doc_type="maginfo",timeout="10m")

(2)前端可視化表達。

ECharts圖例以Leaflet坐標系為支撐,加載交互界面,核心 Javascript 編碼節選:var chart = L.control({position: 'bottomright'});chart.addTo(leafletmap);var myChart= echarts.init (document.getElementById ('chatrdemo'));對于海量數據使用異步請求成功后進行增量加載,代碼節選:function fetchData(idx) {if (idx >= CHUNK_COUNT) {return; }$.ajax({url: "/sendjson2",type: "POST",data:JSON.stringify(idx),contentType : "application/json",dataType : "json",success: function (data0) {myChart.appendData({seriesIndex: idx,data: data0})fetchData(idx+1); }})}

可視化交互功能實現, 代碼節選:function addMaker(e) {window["rms"+numMaker] = prompt('請輸入臺基噪聲RMS值,請確保輸入正確,例:6.98E-08');var makerLocation =e._map.getCenter();window["tempmaker"+numMaker]=new L.marker(makerLocation,{draggable: true}).addTo(temmarkers).bindPopup("請拖拽選擇位置!").openPopup()window["tempmaker"+numMaker].on('dragend', function (event) {var marker = event.target;var latlng = marker.getLatLng();L.popup().setLatLng([latlng.lat,latlng.lng]).setContent("位置當前經緯度:" + latlng.toString()).openOn(e._map);})numMaker=numMaker+1;}

5.2 實現效果

經過多次性能優化和實際測試,臺網監控能力圖中對40萬條地理信息散點數據的平均檢索解析時間為600ms。前端ECharts在實現40萬地理數據全部同時渲染時仍可響應用戶地圖操作,瀏覽器流暢無卡頓,地圖縮放、平移時監控能力圖渲染正常無偏移,分析展示形式豐富多樣。

餅狀、柱狀統計圖采用小圖右下角展示,自適應瀏覽器縮放,完美配合監控能力和震級分布主圖。震級數據切換時不需要重新繪圖,人機交互反應迅速、動態效果好,界面展示效果如圖4、圖5所示。

6 結語

平臺結合當前最新的大數據技術和地理信息技術,以及地震系統的實際業務需求,在項目中進行了腳踏實地的技術實踐和解決痛點的功能實現。

(1)基于開源開放的OpenStreetMap的局域網地理信息服務,為未來諸多行業提供了商業地理信息系統之外的另一條道路。

(2)分布式NoSQL數據庫Elastic Search為海量數據的計算提供了高性能的架構基礎,并為未來平臺擴展提供了良好的支撐。

(3)借助ECharts的海量數據渲染能力,使得海量數據的分析結果展示成為一種可能。

基于此平臺搭建的山東省地震監控能力系統達到了設計目的,滿足功能需求,證明了該平臺的有效性和實際應用的可行性。

參考文獻

[1] 董一兵,朱音,王仁濤,等.基于開源WebGIS的測震臺站運維管理系統的設計與實現[J].震災防御技術,2017,12(2):399-408.

[2] 張環曦,周安聘,董博,等.基于WebGIS的前兆臺站儀器狀態監視系統[J].高原地震,2017,29(2):48-52.

[3] 李成軍,劉愛園.一種基于WebGIS的水質監測數據表達方式的設計與實現[J].測繪與空間地理信息,2018,41(5):132,141.

[4] 魏艷旭,楊銳,劉曉丹,等.基于WebGIS的地震應急數據共享系統研究[J].高原地震,2016,28(1):45-50.

[5] 胡達天,胡慶武.基于開源系統的跨平臺地圖客戶端開發[J].測繪科學,2015,40(7):142-145.

[6] 劉梅.支持多行業的WebGIS中間件體系結構及接口的研究與實現[D].電子科技大學,2017.

[7] 胡斌,董一兵,劉新,等.基于百度地圖API的測震臺網電子地圖服務系統的設計與實現[J].地震研究,2014.37(2):312-316.

主站蜘蛛池模板: 日韩麻豆小视频| 午夜毛片免费观看视频 | 亚洲国产精品不卡在线 | 精品伊人久久大香线蕉网站| 亚洲国产欧美国产综合久久 | 国产综合精品日本亚洲777| 国产精品久线在线观看| 国产亚洲精| 久久久精品国产SM调教网站| 激情综合网址| 9啪在线视频| 高h视频在线| 在线观看免费人成视频色快速| 91人妻在线视频| 成人字幕网视频在线观看| 亚洲精品自产拍在线观看APP| 在线无码私拍| 欧美一级一级做性视频| 中文无码毛片又爽又刺激| 无码中文字幕乱码免费2| 热99re99首页精品亚洲五月天| 成人午夜网址| 婷婷亚洲视频| 2048国产精品原创综合在线| 在线欧美国产| 欧美亚洲国产视频| 日韩资源站| 久久6免费视频| 久久99国产综合精品1| 热久久综合这里只有精品电影| 国产精品毛片在线直播完整版| 婷婷在线网站| 日韩免费成人| 5555国产在线观看| 91毛片网| 97狠狠操| 99er精品视频| 91九色最新地址| 亚洲精品天堂自在久久77| 999精品视频在线| 国产乱子伦视频在线播放| 欧亚日韩Av| YW尤物AV无码国产在线观看| 91精品国产91欠久久久久| 99热亚洲精品6码| 国产高清不卡视频| 亚国产欧美在线人成| 欧美伦理一区| 久久久波多野结衣av一区二区| 东京热高清无码精品| 免费99精品国产自在现线| 国产精品第一区在线观看| 在线观看国产黄色| 亚洲中文字幕在线观看| 中文无码精品a∨在线观看| 亚洲激情区| 色综合国产| 亚洲国产天堂在线观看| 久久国产高清视频| 亚洲Va中文字幕久久一区 | 欧美亚洲一区二区三区在线| 国产一区二区人大臿蕉香蕉| 午夜不卡视频| 欧美日韩第三页| 亚洲中文在线看视频一区| 欧美三级不卡在线观看视频| 国产福利微拍精品一区二区| 黄色网址免费在线| 免费啪啪网址| 国产h视频免费观看| 99久久精品国产自免费| 国产精品三级专区| 久久semm亚洲国产| 久久久久人妻精品一区三寸蜜桃| 高潮毛片免费观看| 日韩欧美中文在线| 色老二精品视频在线观看| 国产毛片基地| 九色在线视频导航91| 亚洲中文无码av永久伊人| 999国内精品久久免费视频| 日韩A级毛片一区二区三区|