作為新一代通用目的技術(shù),數(shù)字孿生體技術(shù)在城市管理中的應(yīng)用受到廣泛關(guān)注。2020年7月16日,數(shù)字孿生體聯(lián)盟設(shè)立數(shù)字孿生城市實驗室,把推進數(shù)字孿生城市開源社區(qū)作為重點,得到了中國自動化學(xué)會、深圳工業(yè)總會、國家無線電監(jiān)測中心檢測中心深圳實驗室和深圳市信息基礎(chǔ)設(shè)施投資發(fā)展有限公司等的支持。
數(shù)字孿生城市的建設(shè)是一個多領(lǐng)域、多學(xué)科和多家利益相關(guān)者參與的系統(tǒng)工程,無論涉及多少領(lǐng)域、做了多少工作,可視化呈現(xiàn)是其中重要的部分,涉及計算機圖形學(xué)、地理信息系統(tǒng)、物聯(lián)網(wǎng)、數(shù)字孿生體、人工智能、數(shù)據(jù)庫、程序設(shè)計等知識。
雖然不少大型互聯(lián)網(wǎng)公司給出了高度集成的智慧城市解決方案,但它蘊含的風險非常高,體現(xiàn)為運行成本高居不下,安全隱患多和系統(tǒng)彈性不夠等挑戰(zhàn)。為了解決這些問題,數(shù)字孿生城市實驗室設(shè)計了以開源項目為主的數(shù)字孿生城市開發(fā)體系。
從數(shù)字孿生城市的可視化開發(fā)來看,可以分為基礎(chǔ)設(shè)施、服務(wù)層和應(yīng)用層,除此之外,開發(fā)體系還需要內(nèi)容生產(chǎn)部分,為平臺提供三維模型、專題地圖等內(nèi)容。
(一)數(shù)字孿生城市基礎(chǔ)設(shè)施
基礎(chǔ)設(shè)施層用來為數(shù)字孿生城市的整個體系提供支持,這一部分包括了操作系統(tǒng)、數(shù)據(jù)庫、物聯(lián)網(wǎng)等。
操作系統(tǒng)使用Linux系列,Ubuntu或CentOS都是可以的,這里不做贅述。
數(shù)據(jù)庫部分則要考慮兩類數(shù)據(jù)的管理,一類是常規(guī)的關(guān)系型數(shù)據(jù),另一類是空間數(shù)據(jù)。關(guān)系型數(shù)據(jù)使用PostgreSQL,空間數(shù)據(jù)通常使用POSTGIS、MySQL空間擴展等。
物聯(lián)網(wǎng)管理平臺是終端設(shè)備與智能應(yīng)用之間的紐帶,是數(shù)字孿生城市的基礎(chǔ)性支撐平臺,是數(shù)字孿生城市與物理世界的溝通的橋梁。物聯(lián)網(wǎng)平臺使用IOT3000就可以支撐整個體系。
(二)數(shù)字孿生城市服務(wù)層
GIS服務(wù)是實現(xiàn)數(shù)字孿生城市應(yīng)用基礎(chǔ)。GIS服務(wù)是構(gòu)建在數(shù)據(jù)庫基礎(chǔ)上的可以擴展的系統(tǒng)框架可以簡化搭建GIS框架的工作量。通過二次開發(fā)擴展可以讓我們搭建基于GIS開放框架的GIS應(yīng)用系統(tǒng)。服務(wù)層基于開放的GIS標準,同時兼容開源的空間數(shù)據(jù)庫,與整個框架體有很好的兼容性。開源GIS服務(wù)軟件有如下可以使用:GeoServer、MapServer、TileCache等。
除了GIS服務(wù)外,服務(wù)層還提供應(yīng)用服務(wù)能力,為客戶端提供具體的業(yè)務(wù)功能,此能力是與具體業(yè)務(wù)緊密相關(guān)的,沒有通用框架、程序使用,主要通過自行開發(fā)實現(xiàn)。此應(yīng)用可以簡單理解為綜合性的信息管理系統(tǒng),要結(jié)合物聯(lián)網(wǎng)、地理信息、業(yè)務(wù)信息進行開發(fā)。
(三)數(shù)字孿生城市應(yīng)用層
應(yīng)用程序是數(shù)字孿生城市能力的體現(xiàn),專業(yè)的開發(fā)者可以根據(jù)需要,使用開放平臺提供的能力,構(gòu)建出各種各樣功能的應(yīng)用程序。為了呈現(xiàn)更好的視覺效果,在通常的Web應(yīng)用開發(fā)框架基礎(chǔ)之上,必須要為數(shù)字孿生城市應(yīng)用增加三維GIS、圖表等功能。
數(shù)字孿生城市應(yīng)用首先是一個三維GIS應(yīng)用,在三維GIS開發(fā)上,Cesium是最為流行的開源項目,它可以用來顯示海量三維模型數(shù)據(jù)、影像數(shù)據(jù)、地形高程數(shù)據(jù)、矢量數(shù)據(jù)等等。除了三維應(yīng)用,數(shù)字孿生城市應(yīng)用也可能有需要二維地圖,這方面可以使用OpenLayers,也是一個開發(fā)WebGIS客戶端的JavaScript包,可以提供地圖展示功能。OpenLayers可以和Cesium一起配合使用,實現(xiàn)二維、三維地圖集成。
Cesium之在3D地球方面確實強大,但是相對來說更偏底層一點,一些很炫酷的效果如果需要自己做,會花費大量的時間,而且很多時候?qū)崿F(xiàn)起來很有挑戰(zhàn)。EarthSDK是一個Cesium的封裝,里面有很多效果可以直接使用。
圖表顯示使用ECharts,可在瀏覽器上顯示直觀,生動,可交互,可高度個性化定制的數(shù)據(jù)可視化圖表。
在項目的管理、組織上,應(yīng)使用Angular或VUE。這兩個框架都是JavaScript語言開發(fā)的Web開發(fā)框架,為Web應(yīng)用的模塊化開發(fā)提供基礎(chǔ),通過模塊化開發(fā),來降低大型項目的組織管理難度。數(shù)字孿生城市應(yīng)用的開發(fā),應(yīng)基于這兩個框架來進行。
(四)數(shù)字孿生城市內(nèi)容生產(chǎn)
數(shù)字孿生城市開發(fā)需要制作的內(nèi)容主要有兩個:三維模型和專題地圖。
三維模型的設(shè)計與開發(fā)推薦使用Blender。Blender是一款開源的跨平臺全能三維動畫制作軟件,提供從建模、動畫、材質(zhì)、渲染、到音頻處理、視頻剪輯等一系列動畫短片制作解決方案。對于數(shù)字孿生城市的三維模型來說,使用其中的建模、材質(zhì)就可以很好的完成設(shè)計開發(fā)。當前,3DS Max、SketchUp、Revit等商業(yè)軟件也可以用于三維模型的設(shè)計與開發(fā)。
Blender比較適合創(chuàng)建精細的模型,但只能一個一個操作,對于城市建筑這個規(guī)模的模型來說不太合適,需要有一個批量創(chuàng)建模型的方法。此工作可以使用Cesiumlab,當然它不僅僅是一個模型創(chuàng)建工具。
Cesiumlab是一款專為Cesium開源數(shù)字地球平臺打造的數(shù)據(jù)處理工具集。目前包含地形數(shù)據(jù)處理、影像數(shù)據(jù)處理、點云數(shù)據(jù)處理、數(shù)據(jù)下載、矢量數(shù)據(jù)處理(矢量樓塊切片,矢量點轉(zhuǎn)I2DM)、傾斜數(shù)據(jù)處理、三維場景(OBJ,FBX,IFC,3DS,DAE)處理、BIM數(shù)據(jù)(REVIT,IFC,MICROSTATION,CATIA)處理等工具。
數(shù)字孿生城市應(yīng)用可能還需要根據(jù)業(yè)務(wù)需求制作涉及相關(guān)業(yè)務(wù)的專題地圖。例如,某一地區(qū)充電樁分布圖?;綠IS系統(tǒng)是不會提供這種與業(yè)務(wù)相關(guān)的地圖的。因此,需要使用一些工具制作專題地圖。QGIS和uDig是兩個比較常用的開源GIS軟件,可以用于專題地圖的開發(fā)。
專題地圖制作完成后,可以將其發(fā)布到GeoServer或MapServer,這樣就可以為數(shù)字孿生城市應(yīng)用提供專題地圖了。
結(jié)合到以上的開源項目及應(yīng)用,可以構(gòu)建一個低成本的、開放架構(gòu)的數(shù)字孿生城市,避免被智慧城市供應(yīng)商技術(shù)鎖定,促使數(shù)字孿生城市具有高可用、高彈性和低成本的應(yīng)用價值,從而引領(lǐng)我國新基建時代的創(chuàng)新發(fā)展。