龍秋濛 何政偉 薛東劍* 樊雪梨 趙 陽 張興瓊
(成都理工大學地球科學學院,四川 成都610059)
國內外學者分別根據自身專業特點,開發出了不同的具有其專業特色的地物波譜庫。1993 年美國地質調查局USGS 建立了以礦物為主的波譜庫;2011 年歐空局建設了主要包含有各類星體等宇宙物質的GAIA 波譜庫;2013 年李少鵬等人采用B/S 模式構架開發了新疆典型荒漠植物光譜數據庫;2016 年李程等人設計并建立了蘋果冠層/葉片高光譜數據庫;2017 年張玲等人申請了專利并構建了遼寧省水域水體波譜庫;2018 年王思遠、申明等人建立了一種水環境的光譜庫。本研究采用瀏覽器/服務器(B/S)模式為框架,在MicrosoftVisual Studio 2010 環境下,利用SQL Server 2014 關系型數據庫,基于C 語言的編程操作,建立建筑垃圾典型高光譜數據庫系統,實現光譜數據及其配套屬性數據的管理、分析及檢索查詢等功能。
波譜數據及其配套的屬性是建庫的基礎,結合現存的波譜知識和數據建立關于建筑垃圾方面的光譜數據庫。在驗證用戶名和密碼基礎上,滿足對光譜數據的預處理、條件檢索和自動匹配及光譜曲線顯示的需求。以“瀏覽器-Web 服務器-數據庫服務器”為結構的B/S 開發模式為基礎,在SQL Server2014 環境下,利用IDL7.0的圖形顯示功能和VB.NET 函數轉換相結合,實現用戶不僅能在瀏覽器上處理業務,同樣也能在引入管理機制的基礎上對光譜數據進行邏輯上的管理和分配的目標,圖1。
(1)用戶管理模塊:用戶管理模塊具體功能包括用戶注冊、用戶權限設置、用戶登錄等。用戶注冊填寫用戶的詳細信息是為了便于管理員同用戶聯系。用戶的權限設置保證整個系統的安全。根據SQL Server 2014 的數據表屬性創建兩個信息表,分別為用戶信息表和光譜信息表。用戶信息表包含用戶的ID、用戶名、登錄密碼和用戶權限等;光譜信息表包含了數據編號、采樣時間、采樣地點等。用戶根據項目需要,個性化編輯信息表。(2)光譜預處理模塊:該功能由VB.NET 分別調用ENVI 軟件進行二次開發函數實現。對光譜數據噪聲去除、去陡峭、波譜平均、重采樣等預處理。此外為了進一步的解決光譜之間存在的細微差異,對光譜數據進行包絡線計算、光譜歸一化、光譜導數計算、光譜積分、光譜斜率計算等一系列處理手段,實現數據的精細化處理。(3)光譜數據庫管理模塊:該功能是對數據庫中光譜信息表進行管理,其中包括添加、查詢、以及修改光譜數據。“添加”模塊實現把經過預處理后的光譜及其配套屬性信息批量地錄入數據庫;“查詢”模塊是對光譜數據進行匹配,包含有“條件檢索”和“自動匹配”兩種方式,第一種方式適用于用戶未知地物類型,在鑒定未知光譜曲線條件下進行搜索;第二種方式適用于對已知光譜信息在光譜數據庫自動匹配出最為相近的光譜數據。(4)光譜曲線顯示模塊:是由VB.NET 調用IDL 的COM 組件及其相應函數實現,得到原始光譜曲線和處理后的光譜曲線之間的對比圖。(5)光譜數據庫安全管理模塊:用戶使用光譜數據庫時輸入相應的ID、用戶密碼等獲得權限更改或刪減光譜數據庫以及以防數據丟失的備份。

圖1 建筑垃圾光譜數據庫系統結構
在確定了光譜數據庫的關系模式后,結合相關要求對其進行物理設計是建立數據庫的操作基礎。考慮數據庫的負載、需求、用戶的數量和類別以及數據庫的備份與恢復等,將采集的不同建筑垃圾光譜數據、其它地物的光譜數據、儀器參數、采樣時間、地點以及采樣的人員等信息存儲到屬性表中以完善數據表的結構和內容。
建筑垃圾光譜數據庫的存儲方式為一個樣本的光譜作為一條記錄,每一條記錄包含樣本光譜數據及其配套數據,將其分別作為一張數據表存儲于數據庫中。非結構化的高光譜數據通常采用空間分割技術進行統一管理。空間分割技術就是將不同傳感器按照地形圖的方式進行分幅,對于不同區域則按照地形圖標準形成單元分割的規范化數據,實現了影像數據的尺度管理,同時也為海量影像數據在網絡上傳輸提供可能性。
數據表是在建立數據庫時最為重要的一個步驟,因為表的集合就是數據庫。它是儲層和操作數據的邏輯單位,是由行和列組成的二維結構。數據表的屬性主要包括有數據編號、采樣時間、采樣地點、樣本名稱、采樣人姓名、用戶密碼、用戶ID、用戶權限等。
2.4.1 系統的導入功能實現
在使用SQL server 2014 進行建庫時,數據的手工輸入過程中,為了保證數據的完整與規范,要對數據進行仔細核對校驗,對不合格的數據進行剔除。將配套的數據存儲到相應的文件夾路徑下,記錄存儲路徑名,并將路徑名錄入到屬性表中。具體要求有:(1)數據上傳:提供預先對各種文本形式的數據文件進行格式檢查、反饋詳盡錯誤報告的功能。(2)數據審核員:可以快捷精確地提取某一時段、某種類型的數據對其進行審核,包括數據原始文件、入庫信息、存儲路徑等。(3)系統管理員:要求能夠批量地錄入建庫數據。對于數據的上傳可以將一幅影像和多個由它提取而來的像元光譜一起上傳,進而可以實現數據的批量上傳,上傳流程類似于格式檢查流程。在格式檢查通過后將數據導入,避免了在入庫后仍出現數據大量出錯而導致工作效率降低。
2.4.2 據導出功能的實現
數據導出功能是該系統的一大重要功能,通過前臺客戶端程序可以實現對所需數據的快速導出功能,可以便于用戶導出所需光譜數據及其元數據和分析結果等以EXCEL 表格格式批量導出,實現建筑光譜數據對后續信息的提取和識別提供技術支持。
本文以瀏覽器/服務器(B/S)開發模式為基礎,結合以COM 為組件模型的軟件工程技術,設計出了針對建筑垃圾方面的光譜數據庫。數據庫具有典型建筑垃圾波譜的查詢和可視化功能,還具有管理波譜相關模型的功能,能夠在未知地物類型或已知光譜信息前提下對其條件檢索或自動匹配。實現在先驗知識的支持下,以模型驅動理論為基礎的尺度擴展。所構建的建筑垃圾光譜數據庫不僅提供了管理光譜數據的平臺,更為重要的是建立了光譜數據相關說明以及對光譜數據進行相關特性分析,以此建立了數據說明、定量參數與建筑垃圾的關系模型。光譜庫以對數據具有高效管理和組織優勢的SQL Server 2014 為基礎,利用了IDL 具有面向矩陣、豐富的分析工具包,實現高速的圖形顯示技術,將C 語言作為系統設計語言,編寫工作系統應用程序;再結合VB 和IDL 之間多次函數調用和COM 功能控件在數據庫內實現影像文件和文件系統的調用。相較于傳統的數據庫,本庫著重于信息的綜合管理,將不同種類語言的跨平臺集成,形成優勢互補,提高了光譜數據的使用率,充分挖掘和應用高光譜元數據資源,實現了高效、快速查詢,準確定位典型建筑垃圾光譜信息的目標;為識別建筑垃圾產生、處理、運輸以及存放等一系列過程提供了強有力的技術支持。本系統的下一步任務是完善和擴充數據庫內容,使該系統成為建筑垃圾光譜定量化應用的重要技術工具之一。