国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Cesium的電力勘測數(shù)據(jù)管理平臺研究與開發(fā)

2022-03-06 01:07林志鵬吳列
城市勘測 2022年1期
關(guān)鍵詞:數(shù)據(jù)源圖層桿塔

林志鵬,吳列

(四川電力設(shè)計咨詢有限責(zé)任公司,四川 成都 610041)

1 引 言

隨著電力建設(shè)及現(xiàn)代測繪技術(shù)的迅猛發(fā)展,電力勘測過程中所生產(chǎn)的各種工程數(shù)據(jù)資料也隨之無形增多[1],這些數(shù)據(jù)資料往往種類繁多、結(jié)構(gòu)復(fù)雜,而當(dāng)前的管理方式大多依靠人工,花費多、效率低,人力資源投入大。與此同時,工程應(yīng)用中所涉及的基礎(chǔ)元數(shù)據(jù)資料,大多以正射影像、傾斜三維模型為主,如何高效地管理和利用海量元數(shù)據(jù)成為當(dāng)前亟須解決的問題。通常的地理信息系統(tǒng)(Geographic Information System,GIS)客戶端主要由客戶機/服務(wù)器(Client/Server,C/S)和瀏覽器/服務(wù)器(Browser/Server,B/S)兩種架構(gòu)組成[2~5],考慮到軟件平臺的易用性和適用性,筆者采用了B/S架構(gòu)的網(wǎng)絡(luò)地理信息系統(tǒng)(WebGIS)數(shù)據(jù)管理模式:通過對工程數(shù)據(jù)及相關(guān)元數(shù)據(jù)文件的格式標準化處理和數(shù)據(jù)錄入,基于VUE的前端框架,以開源Cesium為技術(shù)核心,通過Ajax請求后端MongoDB數(shù)據(jù)庫,獲取數(shù)據(jù)的形式,實現(xiàn)了在瀏覽器的三維地球上加載顯示和查詢所有數(shù)據(jù)資源的功能,為用戶提供了一個集二三維一體化、跨平臺、開發(fā)效率高和易于擴展的高效管理平臺。

2 Cesium簡介

Cesium是一款面向三維地球和地圖的JavaScript開源引擎,支持2D、2.5D及3D形式的地圖展示和柵格、編輯矢量數(shù)據(jù)及三維模型的加載和編輯[7]。它通過WebGL技術(shù)實現(xiàn)圖形的硬件加速,不需要安裝插件即可實現(xiàn)跨平臺、跨瀏覽器、提供動態(tài)數(shù)據(jù)可視化展現(xiàn)的功能,在可視化精度、渲染質(zhì)量以及多平臺的易用性上具有高質(zhì)量的性能保證。

Cesium的體系結(jié)構(gòu)架構(gòu)按層次劃分,主要由基礎(chǔ)要素層(Primitives)、場景層(Scene)、渲染器層(Render)和核心層(Core)四部分組成[8~10],每一層的上層模塊依賴于下層所提供功能的同時,也對下層模塊進行了更高層次的抽象和封裝[11]。Cesium的體系結(jié)構(gòu)如圖1所示。

圖1 Cesium體系結(jié)構(gòu)圖

3 系統(tǒng)設(shè)計與開發(fā)

3.1 框架體系與功能模塊設(shè)計

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

在研究分析現(xiàn)有工程數(shù)據(jù)文件的基礎(chǔ)上,結(jié)合系統(tǒng)需求分析,對系統(tǒng)進行總體架構(gòu)設(shè)計,將本系統(tǒng)分為可視化展示層、渲染層、服務(wù)層、數(shù)據(jù)層和基礎(chǔ)設(shè)備層五個模塊,如圖2所示。

表達層設(shè)計:基于Vue的MVVM數(shù)據(jù)雙向綁定機制,在Web前端展示平臺系統(tǒng)界面及所有的二、三維可視化效果,主要包含了界面設(shè)計和功能插件設(shè)計。

渲染層設(shè)計:基于Cesium提供的TerrainProvider、ImageryProvider及3D Tiles二、三維模型渲染機制,對各種地圖數(shù)據(jù)、矢量數(shù)據(jù)表達、無人機獲取的正射影像(Digital Orthophoto Map,DOM)、數(shù)字高程模型(Digital Elevation Model,DEM)、激光點云和傾斜三維模型進行圖形渲染。

圖2 系統(tǒng)架構(gòu)圖

服務(wù)層設(shè)計:一方面支持網(wǎng)絡(luò)要素服務(wù)(WebFeatureService,WFS)、網(wǎng)絡(luò)地圖服務(wù)(WebMapService,WMS)等網(wǎng)絡(luò)地圖及影像服務(wù),包括GoogleMap、Bing地圖、OpenStreetMap及天地圖等網(wǎng)絡(luò)地圖服務(wù)資源;另一方面支持離線環(huán)境下利用GeoServer發(fā)布的本地二、三維地圖數(shù)據(jù)服務(wù)。

數(shù)據(jù)設(shè)備層設(shè)計:對輸變電工程中的桿塔坐標數(shù)據(jù)、場站址位置數(shù)據(jù)、工程相關(guān)的地址災(zāi)害點、礦區(qū)、敏感地物點及基礎(chǔ)地理信息數(shù)據(jù),例如控制點、圖幅等數(shù)據(jù)進行標準化處理,再利用數(shù)據(jù)庫、網(wǎng)絡(luò)等硬件設(shè)施,將各類數(shù)據(jù)進行整合和存儲。

(2)系統(tǒng)功能模塊劃分

Cesium無自帶插件,由此用戶可自定義滿足自身需求的功能菜單。系統(tǒng)的菜單包含了地圖基本操作模塊、數(shù)據(jù)查詢模塊、圖層管理和GIS功能模塊。系統(tǒng)的主要功能結(jié)構(gòu)如圖3所示。

圖3 系統(tǒng)功能模塊構(gòu)建

3.2 數(shù)據(jù)結(jié)構(gòu)組織與標準化

系統(tǒng)的電力勘測數(shù)據(jù)庫是核心數(shù)據(jù)資產(chǎn),運行于后端服務(wù)器計算機上。用戶通過Web前端發(fā)送Ajax請求,以實現(xiàn)對服務(wù)器數(shù)據(jù)的存儲、組織和管理。

平臺選用基于開源非關(guān)系型的MongoDB數(shù)據(jù)庫作為后端服務(wù)器存儲機制。系統(tǒng)數(shù)據(jù)庫中的所有輸變電工程數(shù)據(jù)均存儲于各個數(shù)據(jù)表文件中,數(shù)據(jù)查詢模塊對數(shù)據(jù)進行查詢、添加、刪除及修改等操作必須立足于對數(shù)據(jù)庫表文件的合理設(shè)計。如表1所示,系統(tǒng)數(shù)據(jù)庫主要包含了transformer_Substation、transmission_Line、tower_Location和geologic_Hazard四個數(shù)據(jù)表,其分別存儲廠站位置數(shù)據(jù)、輸電線路數(shù)據(jù)、桿塔數(shù)據(jù)及地質(zhì)災(zāi)害點數(shù)據(jù)。

數(shù)據(jù)表清單 表1

其中,桿塔數(shù)據(jù)表是存儲各工程與桿塔數(shù)據(jù)相關(guān)信息,其表結(jié)構(gòu)設(shè)計如表2所示,主要包括了桿塔樁號、塔號、線路等級等字段,在Web前端進行可視化查詢時為用戶提供必要的位置和屬性等數(shù)據(jù)支持。

桿塔數(shù)據(jù)表結(jié)構(gòu)設(shè)計 表2

3.3 部分功能實現(xiàn)

(1)Web前端的基本功能實現(xiàn)

平臺結(jié)合系統(tǒng)設(shè)計的總體目標,在框架結(jié)構(gòu)、交互性與視覺效果三方面最大化滿足用戶需求,在Web前端的展示層引用Element等多種插件優(yōu)化用戶界面(UI),為用戶提供了良好的交互界面,如圖4所示。

圖4 系統(tǒng)平臺界面

平臺在基本地圖操作方面完成了一系列基礎(chǔ)地圖操作:底圖控制、坐標定位、測量、標繪、卷簾、飛行漫游等功能。其中,標繪、測量功能主要依靠Cesium提供的Primitive和CesiumMath類實現(xiàn),用戶在交互操作的同時,依靠DrawHander類完成回調(diào),以實現(xiàn)動態(tài)標繪及量測操作。

(2)多數(shù)據(jù)源加載與圖層管理

平臺基于Ztree插件,利用viewer.scene.open()直接加載整個數(shù)據(jù)集,再根據(jù)需求,利用layer.visible屬性值設(shè)定數(shù)據(jù)集內(nèi)每個圖層的顯隱,進而完成對二三維及多源數(shù)據(jù)的加載與管理,如圖5所示。利用OGC標準定制的WMS、WPS及WCS等網(wǎng)絡(luò)在線服務(wù)[12],可通過在線服務(wù)的方式請求加載服務(wù)器端的多種數(shù)據(jù)源,包括:GoogleMaps、Bing地圖、ArcGIS等不同數(shù)據(jù)源的衛(wèi)星影像及街景地圖,同時還可以支持不同等級的離線瓦片數(shù)據(jù)格式的影像加載功能,以此實現(xiàn)二維矢量數(shù)據(jù)與三維場景一體化展示查詢的可視化表達。

圖5 圖層與底圖管理

為更好地支持當(dāng)前主流數(shù)據(jù),需首先對系統(tǒng)中所包含的各類型數(shù)據(jù)進行一系列數(shù)據(jù)格式標準化處理,制作成不同空間要素層的矢量數(shù)據(jù):所有的桿塔數(shù)據(jù)、廠站數(shù)據(jù)、地質(zhì)相關(guān)等信息均轉(zhuǎn)換為基于Javascript對象表示法(JavaScript Object Notation,GeoJSON)存儲,而傾斜三維模型則以Cesium提供的標準3D Tiles形式表達。其中,平臺中的3D Tiles瓦片集以tileset.json文件和一系列對應(yīng)單個瓦片的b3dm文件構(gòu)成,在加載的時候,首先讀取tileset.json中的配置,再調(diào)用實際瓦片中的數(shù)據(jù),進而完成三維模型的渲染和可視化(如圖6)。傾斜攝影模型加載關(guān)鍵代碼如下:

vartilesetBdzOSGB = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({

url:′3DTITLES/Scene/BDZ/ZH/tileset.json′,

maximumNumberOfLoadedTiles:1000,

skipLevelOfDetail:true,//優(yōu)化選項。確定遍歷期間是否應(yīng)用細節(jié)級別跳過

baseScreenSpaceError:1024,

skipScreenSpaceErrorFactor:16,//定義要跳過的最小屏幕空間錯

immediatelyLoadDesiredLevelOfDetail:false,

loadSiblings:false,

cullWithChildrenBounds:true,//使用其子對象邊界體積的聯(lián)合來剔除瓦片

dynamicScreenSpaceError:true,//減少離相機較遠的磁貼的屏幕空間錯誤

dynamicScreenSpaceErrorFactor:4.0,//用于增加計算的動態(tài)屏幕空間誤差的系數(shù)

dynamicScreenSpaceErrorHeightFalloff:0.25 //密度開始下降時的高度比率

});

圖6 圖層控制加載傾斜攝影三維模型

平臺在加載管理傾斜攝影數(shù)據(jù)模型的同時,涵蓋了對建筑信息模型(Building Information Modeling,BIM)數(shù)據(jù)的管理和表現(xiàn)形式(三維模型)。由于Cesium在三維模型的加載上,僅支持3DTiles,而常用的BIM數(shù)據(jù)若以ifc格式表達則不能完全保持BIM模型本身的相關(guān)屬性,因此需同樣以切片的形式對BIM數(shù)據(jù)進行處理,并發(fā)布為3dtiles服務(wù)完成加載,圖7為切片后在平臺加載的BIM模型。

圖7 圖層控制加載BIM模型

(3)后端服務(wù)器的矢量數(shù)據(jù)解析加載

Cesium支持地理標記語言(Geographic Markup Language,GML)、標記語言(Keyhole Markup Language,KML)、GeoJson等多種類型的矢量數(shù)據(jù)[13],本系統(tǒng)主要以GeoJSON形式完成矢量數(shù)據(jù)的解析和表達,如圖8所示,為GeoJSON數(shù)據(jù)源的解析和加載流程。首先,Web前端通過AJAX異步請求服務(wù)器端GeoJSON格式矢量數(shù)據(jù),隨后,依據(jù)矢量數(shù)據(jù)所包含的要素信息依層次進行解析,并創(chuàng)建一個動態(tài)對象(DynamicObject);接著,將動態(tài)對象存儲于GeoJSON數(shù)據(jù)源的動態(tài)對象集合中;最后,再設(shè)置動態(tài)對象的樣式和頂點信息,并將其加入渲染循環(huán)幀當(dāng)中,進而以幾何圖形的形式展示于用戶面前。

圖8 GeoJSON數(shù)據(jù)源解析加載過程

4 結(jié) 語

本文以當(dāng)前對電力勘測數(shù)據(jù)的管理方式為背景,深入研究了與WebGIS相關(guān)的系統(tǒng)結(jié)構(gòu)、實現(xiàn)方式及數(shù)據(jù)管理。在此基礎(chǔ)上,利用Web前端作為數(shù)據(jù)可視化平臺,結(jié)合開源3D地圖引擎Cesium,在MongoDB數(shù)據(jù)庫支撐下,設(shè)計了一套集數(shù)據(jù)存儲管理與可視化操作的電力勘測數(shù)據(jù)管理平臺。平臺實現(xiàn)了基礎(chǔ)地圖操作、數(shù)據(jù)查詢、圖層管理與可視化表達的功能,實現(xiàn)了對電力勘測資料及數(shù)據(jù)的存儲、加工、分析和利用,達到了資源整合的目的。隨著今后基礎(chǔ)數(shù)據(jù)的不斷變化和技術(shù)的不斷更新,本平臺將在加載海量三維模型及UC交互方面有所完善,使其在輸變電三維設(shè)計中發(fā)揮更大作用。

猜你喜歡
數(shù)據(jù)源圖層桿塔
基于北斗的高壓輸電桿塔智能實時監(jiān)測技術(shù)與應(yīng)用
為《飛舞的空竹龍》加動感
一種多源數(shù)據(jù)融合過程中的實體關(guān)聯(lián)性計算方法
基于ZigBee與GPRS的輸電桿塔傾斜監(jiān)測預(yù)警系統(tǒng)
利用屬性集相關(guān)性與源誤差的多真值發(fā)現(xiàn)方法研究
解密照片合成利器圖層混合模式
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
數(shù)據(jù)有增加 圖表自適應(yīng)
降低輸電線路雷擊跳閘率是采取“疏”還是“堵”
用Photoshop圖層技術(shù)制作精美郵票
噶尔县| 宜黄县| 灵宝市| 和平县| 常熟市| 阿克| 湘潭县| 淮北市| 河津市| 隆昌县| 旌德县| 玉门市| 安义县| 邵阳市| 江永县| 宣汉县| 青海省| 无锡市| 新安县| 师宗县| 云浮市| 蒙阴县| 周宁县| 康平县| 武强县| 余庆县| 当涂县| 宁晋县| 福贡县| 连江县| 巩留县| 平塘县| 如皋市| 克拉玛依市| 嘉黎县| 繁峙县| 阳西县| 九龙城区| 多伦县| 九江市| 寻乌县|