摘要:在設計一款三維噪聲分析軟件的過程中,數據組織與管理是關鍵環(huán)節(jié),這就要求選用功能強大的地理空間數據庫。地理空間數據庫分為商業(yè)和開源兩種,商業(yè)與開源地理空間數據庫各有優(yōu)劣,須根據具體需求進行選型評價。數據庫設計須緊密結合三維噪聲數據的特性,進行規(guī)范化建模。文章聚焦于三維噪聲數據的組織問題,探討利用開源數據庫MariaDB進行數據庫設計的可行性與具體方案。
關鍵詞:GIS;開源;數據庫;三維噪聲;MariaDB
中圖分類號:TP311" " " 文獻標識碼:A
文章編號:1009-3044(2025)19-0075-03
開放科學(資源服務) 標識碼(OSID)
0 引言
空間數據庫是一種專門用于存儲、管理和分析地理空間數據的數據庫系統(tǒng),核心在于將地理位置信息(如點、線、面等幾何對象) 與屬性對象(如名稱、數值等) 結合。相對于傳統(tǒng)數據庫,空間數據庫的特點包括數據量龐大、具有高可訪問性以及復雜的空間數據模型[1]。
噪聲計算是基于噪聲的聲壓、聲強、功率、頻譜和頻帶,以及噪聲在傳播過程中的衰減和遇到障礙物的吸收和繞射作用,計算傳達到噪聲接受點處的噪聲值。在大場景的聲場計算中,通常會使用聲線追蹤法。聲線可分為直達聲線、繞射聲線以及反射聲線,在這個過程中會產生龐大的數據量,并且?guī)в械乩砜臻g屬性。為了快速存儲、查詢和計算噪聲分析過程中產生的數據,需要一款空間數據庫,該數據庫須支持地理幾何對象存儲,并具備高速的數據存儲、查詢能力與高性能[2]。由三維噪聲信號組成的空間地圖已經廣泛應用于交通規(guī)劃和城市建設等領域[3]。
商業(yè)空間數據庫市場主要由國外大型公司主導,這些公司具有悠久的發(fā)展歷史,功能齊全且強大。然而,對于中小型項目而言,這些企業(yè)級數據庫的部分高級功能可能并非必需,顯得冗余。其閉源特性限制了開發(fā)者進行深度定制,通常只能依賴提供的接口進行二次開發(fā)。昂貴的價格也使其更多地被政府機關和企業(yè)所應用。此外,源代碼的不透明性可能引發(fā)對數據安全性的擔憂。開源空間數據庫除了具備關系型數據庫的基本功能外,通常還具有成本低廉、源碼開放、可定制性強、信息安全可控等優(yōu)勢?;谏鲜霰尘埃疚囊匀S噪聲數據管理需求為出發(fā)點,分析了選用開源數據庫MariaDB作為空間數據管理方案的可行性,并提出了具體的數據庫設計。
1 商業(yè)和開源空間數據庫對比
1.1 商業(yè)數據庫解決方案
商業(yè)數據庫依托雄厚的技術實力、完善的研發(fā)和測試體系,以及完備的技術支持和售后服務,其產品成熟、使用便捷、安全性高,是企業(yè)級數據庫解決方案的理想選擇。
在商業(yè)數據庫應用中,主流的解決思路是利用空間數據引擎ArcSDE建立連接。ArcSDE是ESRI公司開發(fā)的一種可將空間數據存儲于關系型數據庫的轉換引擎,通過在關系數據庫管理系統(tǒng)和空間數據之間建立通路,進行空間數據與屬性數據之間的相互轉換,并支持主流的商業(yè)數據庫,如SQL Server和Oracle等。
張洪吉、李緒平等人[4]探討了基于ArcSDE + SQL Server的新農村建設數據庫設計與實現(xiàn),將ArcSDE與SQL Server建立連接后,通過軟件自帶的功能導入空間地理數據。孟成、彭明軍、石騫[5]則研究了ArcSDE + Oracle模式下的空間數據用戶監(jiān)控技術,通過分析Oracle和ArcSDE內部表之間的關聯(lián)性,設計并實現(xiàn)了用戶監(jiān)控系統(tǒng)。
1.2 開源數據庫解決方案
與商業(yè)數據庫相比,開源數據庫憑借其成本低廉、靈活性高、源代碼開放(遵循GPL、BSD等協(xié)議,允許修改與補充) 等特點,成為許多中小企業(yè)的數據庫解決方案。
盡管開源空間數據庫在GIS中的應用日益增多,但相較于商業(yè)方案,其普及度仍有提升空間。傳統(tǒng)上,MySQL在Windows平臺的應用較多,而PostgreSQL則起源于Linux平臺,雖然其對Windows平臺的支持已日趨完善,但在Linux環(huán)境下的性能表現(xiàn)更優(yōu)。
2 三維噪聲數據分析
2.1 數據對象
在三維噪聲分析中,需要模擬現(xiàn)實世界的各種物體,如基本的道路和建筑物。將每個物體分為特定的類型,每個特定的類型擁有特定的空間和屬性信息。在三維噪聲分析的數據模型中,對象分為7類:高程數據、聲源對象、聲屏障、反射面、計算網格、噪聲接收點和輔助對象。
在這些對象中,直接參與噪聲傳播計算的核心對象主要包括4類:聲源、聲屏障、反射面和噪聲接收點。聲源指發(fā)出噪聲的源頭,包括點、線、面聲源,如廣播和道路。聲屏障指阻隔噪聲傳播的物體,如隔聲板、樹木和綠化帶;反射面指改變噪聲傳播路徑的物體,如建筑物表面;噪聲接收點是用于計算和顯示噪聲影響程度的位置,例如監(jiān)測點、建筑物表面或地面點。其他對象主要指高程數據(如DEM網格、等高點、等高線) ,用于地表高程插值,并為建筑物、道路等對象提供高程信息。
2.2 噪聲分析流程
首先利用噪聲接收點(噪聲監(jiān)測設備) 接收到的噪聲值大小,插值出區(qū)域內的平面噪聲地圖,通過空間疊加分析,賦值區(qū)域內的道路線狀地物,使其獲得聲源強度。通過將一部分噪聲接收點作為矯正點,進行校準和驗證,以縮小噪聲值計算誤差。
然后將擁有聲源強度的道路作為聲源,通過噪聲傳播計算方法,計算附近建筑物表面的噪聲值。在這個過程中,需要將道路和建筑物表面進行離散化。道路需要轉換成道路點,每個道路點對應一個聲源強度。建筑物表面切割為網格,建筑網格作為接受噪聲的最小單元,用來存儲接收到的噪聲值大小。
噪聲從聲源點到建筑物表面的噪聲接收點的計算過程中,除了需要考慮空間衰減,還要考慮聲障(如樹木、圍墻、建筑物) 對聲音傳播的影響。因此,噪聲傳播路徑根據是否存在聲障,可以分為直線路徑和繞射路徑兩種。對于非直線路徑連接噪聲源和噪聲接收點,需要根據聲障類型對傳播路徑進行分段規(guī)劃,并對噪聲路徑進行分段計算。
計算完目標區(qū)域內建筑物表面的噪聲接收點數值后,可以通過三維引擎渲染技術,對建筑物表面網格根據信噪聲值大小進行色彩分級顯示。噪聲值越大,顯示顏色越深,從而直觀顯示噪聲值大小的分布。
2.3 數據存儲
非點類對象可以通過離散化形成折點表,例如,線狀面狀對象如道路和建筑物可以轉化為道路折點表和建筑物折點表,以便于與其他對象進行交互運算。折點對象可以從高程DEM網格中獲取高程數據,并存儲在數據庫中。不同的對象擁有不同的折點表,折點通過名稱和索引與所屬對象建立一對一的映射關系。每個對象除了攜帶自身的基礎屬性外,還包括計算屬性和人工添加的數據,均存儲在對應的折點表中。
通過已有的噪聲接收點的噪聲值反算附近道路的聲源強度。在計算過程中,將道路離散成道路點,然后通過距離算法篩選出在噪聲接收點合理影響范圍內的道路點,計算出道路點的聲源強度。擁有聲源強度的道路點通過折點表在道路之間建立起一對多的映射關系。
建筑物表面的網格接收點同樣依附于建筑物折點對象,從建筑物折點獲取坐標信息。擁有坐標信息的每個網格接收點通過特定算法,篩選出附近對其有影響的道路點,計算所有對自身有影響的道路點的噪聲疊加值。
根據點類對象劃分不同的空間計算對象。噪聲接收點本身為點類型,已實現(xiàn)空間數據和屬性數據的統(tǒng)一,而道路和建筑物對象的屬性存儲在對應的對象表中,通過道路點和建筑物折點表建立起屬性數據與空間數據的關聯(lián)。
3 空間數據庫的設計
空間數據庫作為地理信息系統(tǒng)的數據存儲容器,其設計模式和數據組織形式直接影響系統(tǒng)的數據存儲與讀取效率。三維噪聲分析所包含的基礎數據包括地形、建筑物、道路、聲源、噪聲接收點和聲屏障等,數據格式為點、線、面三種。
3.1 數據庫建設需求分析
文章研究的三維噪聲分析建庫基礎需求是開源、可存儲地理空間數據和屬性數據,并要求讀取速度快。噪聲分析過程中擁有大量的基礎地理空間數據,計算過程中也會產生大量的中間過程數據。統(tǒng)一管理數據的最佳辦法是建立與噪聲分析系統(tǒng)相對應的數據庫管理系統(tǒng)。
3.2 數據庫概念設計
在數據庫的設計過程中,概念設計的目標是產生反映全組織信息需求的整體數據庫概念結構,即概念模式。概念模式必須獨立于計算機的任何數據模型,不受特定數據庫管理系統(tǒng)的限制,不考慮計算機軟硬件技術細節(jié)。創(chuàng)建概念模式的基本方法是使用實體關系模型(E-R圖) ,將數據對象抽象成實體,用實體間的聯(lián)系反映現(xiàn)實客觀事物間的內在聯(lián)系[6]。
在三維噪聲分析過程中,地形數據是基礎,為建筑物、道路、聲源、聲屏障、圓柱體等對象提供高程屬性。地形數據通過等高點、等高線和突變等高線插值生成。聲源點通過噪聲接收點進行插值,并應用于聲源準確度驗證,聲屏障則用來阻隔噪聲傳播。建筑物表面和地表形成噪聲吸收區(qū)域,將建筑物表面和地表劃分成等間距的網格,每個網格代表一個噪聲接收點,通過聲源點和聲屏障的分布計算每個網格噪聲接收點的噪聲值,最終生成平面和垂直噪聲網格,并存儲在網格表中。通過抽象的實體類型描繪各個數據對象之間的關系。
3.3 數據庫邏輯設計
在邏輯設計階段,需要將數據庫概念模型轉換成邏輯數據模型,以滿足用戶對數據安全性和完整性的要求。也就是說,要將概念設計中的實體類型映射到數據表中,并建立各種實體約束和主鍵[6]。
4 MariaDB的表現(xiàn)
MySQL被Oracle公司收購后,開發(fā)團隊對MySQL的更新停滯不前,并伴隨帶來閉源的風險。MySQL的原始創(chuàng)始人Monty Widenius對這種狀況不滿,創(chuàng)建了其社區(qū)分支MariaDB,以便替代MySQL。因此,Maria?DB是一個增強的MySQL替代品,MariaDB繼承了MySQL的許多特性,這導致二者之間的許多協(xié)議和架構是相互兼容的。
MariaDB默認采用InnoDB存儲引擎,相比MySQL傳統(tǒng)的MyISAM引擎,它在支持事務的同時通常具有更好的并發(fā)性能和數據查詢速度。
4.1 存儲屬性數據
道路、建筑物、聲源點和噪聲接收點等地理空間數據的屬性數據一開始存儲在Shapefile文件組織形式的.dbf數據庫中。加載時,這些屬性數據被提取并導入到MariaDB中預先定義好的關系表中,形成一對一的對應關系。通過為每個對象分配唯一的名稱和ID,確保了導入的地理空間數據與其在MariaDB中的屬性記錄一一對應。
4.2 存儲空間數據
在三維噪聲分析過程中的地理空間數據存儲中,包括道路、建筑物表面的噪聲接收點和聲源點等。首先需要對線狀(如道路) 和面狀(如建筑物表面接收點) 對象進行“點化”處理,即將其離散化為一系列具有代表性的點。線狀道路轉化為連續(xù)的道路點,建筑物表面通過設定的數值切割成網格,每個網格的中心點即為噪聲接收點。在對每一個特定的對象進行“點化”之后,存儲在MariaDB中為每類對象預設的折點表中。該表通過名稱和ID關聯(lián)相應對象,并利用Maria?DB的空間數據類型(如POINT) 存儲其地理坐標。
4.3 屬性數據和空間數據間的鏈接
通過為每類對象(如道路、建筑物等) 建立獨立的屬性表(存儲屬性數據) 和折點表(存儲空間幾何信息) ,并利用共有的對象名稱和唯一ID作為外鍵關聯(lián),用于存儲特定對象的地理空間信息。這兩份表的建立都遵循相同的原則,按照規(guī)范建立對象名稱和唯一ID,然后通過相同的名稱和ID標識建立每個對象內部之間屬性數據和地理空間數據的鏈接。通過這種方式,三維噪聲數據的屬性數據和地理空間數據都存儲在MariaDB數據庫中,實現(xiàn)了屬性數據與空間數據的有效關聯(lián)和分離存儲,便于三維噪聲數據的統(tǒng)一管理和高效訪問。
5 結論
本研究旨在為三維噪聲分析軟件選擇合適的數據庫支持系統(tǒng),分析了商業(yè)數據庫和開源數據庫的優(yōu)缺點。分析表明,對于特定需求(如成本和靈活性) ,開源數據庫可能是更合適的選擇;通過對比分析,論證了MariaDB在功能、性能及開源特性方面能夠滿足本研究的需求?;谌S噪聲數據特點,提出了具體的數據庫設計方案。主要結論如下。
1) 商業(yè)數據庫憑借其技術實力和服務支持,通常更適合大型企業(yè)級項目,而開源數據庫因其靈活性和成本效益,常被用于中小型項目或需要高度定制化的場景。
2) MySQL是一款優(yōu)秀的數據庫,但其被Oracle收購后的發(fā)展策略引發(fā)了社區(qū)對其未來開放性和更新頻率的擔憂。MariaDB作為MySQL的社區(qū)分支,旨在提供一個功能兼容且完全開源的替代方案,這也是本研究選擇MariaDB的重要因素之一。
3) 在地理空間數據庫的設計過程中,確保屬性數據與空間信息的一致性是數據庫設計的關鍵。本研究提出的設計方案中,參考Shapefile文件的結構模式,采用了屬性表與空間信息(折點) 表分離存儲的策略,并通過對象名稱和唯一ID建立兩者間的映射關系,有效組織了矢量數據的屬性與空間信息。
參考文獻:
[1] 劉琳婷,孫藝.空間數據庫及其在地震應急救援中的應用分析[J].防災減災學報,2014,30(3):97-100.
[2] 馮馳.聲線追蹤法在噪聲地圖中的應用研究[D].蘭州,蘭州交通大學,2019.
[3] 王思敏,謝鴻宇.三維噪聲地圖實時紋理生成技術研究[J].測繪與空間地理信息,2020,43(7):48-51.
[4] 張洪吉,李緒平,羅勇,等.基于ArcSDE和SQL Server的新農村建設數據庫設計與實現(xiàn)[J].安徽農業(yè)科學,2013,41(4):1836-1838,1841.
[5] 孟成,彭明軍,石騫.Oracle+ArcSDE模式下空間數據庫用戶監(jiān)控技術研究[J].地理空間信息,2013,11(4):43-45,186.
[6] 張露,馬麗.數據庫設計[J].安陽工學院學報,2007(4):76-79.
【通聯(lián)編輯:謝媛媛】