陸旭龍 ,陳立民 ,談 心
(1.鎮江市勘察測繪研究院,江蘇 鎮江 212004;2.南京大學地理信息科學系,南京 210023)
傳統意義上,空間數據(Spatial Data)是指用來描述空間對象的位置、大小、形狀及其分布特征等諸多方面信息,可用以進行空間定位、空間分析,以及反映要素間時空關系等的幾何數據。更廣泛意義上,空間數據可以指帶有空間信息的一切文字、符號。在當前大數據時代,泛在意義上的空間數據不僅指點位、圖形等包含空間位置與屬性的信息,還包括帶有位置信息的軌跡、音頻、視頻等多媒體信息。
長期以來,空間數據的管理都是GIS 理論發展與技術應用的基礎性問題,同時也是決定GIS 技術能否被用戶接受并得到廣泛應用的關鍵。有效的空間數據組織體系一直是數據存儲管理技術研究的熱點。未來空間數據的管理將是對可表示復雜和可變對象的、面向對象的、主動的、模糊的、多媒體的的地理空間數據庫系統的綜合管理。
ArcGIS Engine 是一組完備的嵌入式GIS 組件庫和工具庫。使用ArcGIS Engine,技術人員可以將GIS 功能嵌入到商業性的生產應用軟件中,如Mirosoft Word 和Excel;或嵌入到已有的專業應用軟件中。ArcGIS Engine 由兩個部分組成:構建軟件所用的開發工具包以及支撐應用程序的可再發布的Runtime庫(運行時環境)。ArcGIS Engine開發工具包是一個基于組件的軟件開發產品,可用于構建自定義GIS和制圖應用軟件,適于為Windows、UNIX 或Linux 用戶構建基礎制圖和綜合動態GIS 應用軟件。ArcGIS Engine Runtime 是一個使終端用戶軟件能夠運行的核心ArcObjects 組件產品,基于ArcGIS Engine的 應用程序都必須同時安裝相應的Runtime庫。
本文基于ArcGIS Engine開發平臺,利用空間數據模型Geodatabase建立并管理地理空間數據,通過空間數據引擎ArcSDE來存儲、加工和檢索關系型數據庫中的空間數據,從而實現空間數據和屬性數據的無縫集成和一體化存儲管理。
模塊采用組件式(COM)開發技術,將復雜的應用程序設計成一些小的功能單一的組件模塊,這些組件模塊可以在同一臺機器上運行,也可以在不同的機器上運行,甚至可以在相隔遙遠的兩臺機器上運行。COM是組件對象模型(component object model)的簡稱,是一種以組件為基本組成單元的對象模型,使各軟件的各個組成部分可以用一種統一的方式進行交互。COM既提供組件之間進行交互的規范,也提供實現交互的環境。
模塊所用的關系數據庫為SQL Server 2008,通過ArcSDE服務來連接并操作數據庫中的地理空間數據和非空間數據,模塊基于Microsoft .NET使用C#語言開發。
空間數據管理模塊分為三層結構:顯示層(USL),業務邏輯層(BLL),數據訪問層(DAL)。使用三層結構的設計思想可以使得系統具有比較好的分布式特征,可以根據實際情況需要確定部署模式,有利于后期的維護和升級。三層結構示意圖如下:

圖1 空間數據管理模塊三層架構
數據層主要負責對原始數據(數據庫文件、文本文件及涉及空間位置信息數據)的操作。該層為多源異構多版本的數據建立統一接口,提取生成業務邏輯關系所必需的基礎信息及空間信息。該層為整個結構的基礎,是為整個業務流程關系提供數據服務的關鍵。
業務邏輯層主要負責針對業務工作中具體問題的操作,也可以說是對數據集中有用信息的提取和再加工包裝,并與其它層合作形成業務邏輯關系,例如,一條任務處理涉及到多個部門與環節,每一個環節的經手人都參與構建整條工作流程,包括經手人的自然信息、業務操作的時間、空間位置等等,都必須記錄在案。這其中的邏輯關系必須得到清楚、明確的存儲與表達。
顯示層是系統模塊的UI部分,負責展示結果并使得使用者與整個系統可以流暢地交互。顯示層中的邏輯代碼,既與界面元素的藝術設計有關,也和地理空間信息的可視化有關。UI相對獨立于邏輯層與數據層,可以依據用戶需求而定制。空間信息可視化涉及到地圖符號的設計與地圖不同色塊的配色。做好空間數據的可視化對整個系統的包裝與推廣具有不可忽視的作用。
模塊的主要功能包括目錄管理、空間數據庫管理、檢索三個部分。目錄管理包括文件瀏覽(針對多種格式的地理信息數據的顯示和查看)、文件添加與刪除(如:文件夾、要素類、地理數據表等)、文件修改(如:要素名稱、地理數據表名稱等)。
空間數據庫的管理包含:地理數據表管理(包括地理數據的瀏覽、地理數據表字段的添加和刪除、地理數據表索引的添加和刪除等)、圖層管理、圖形文件管理(要素類的字段添加和刪除、要素類的空間參考的添改及刪除、要素類中的數據瀏覽等)、工程文件管理。此外,特別重要的是:自然屬性信息與位置信息的匹配與關聯。總體可以概括為字段管理、空間參考管理、索引管理、數據瀏覽管理、空間參照建立、專題數據與業務數據的導出等。
檢索功能包括屬性檢索和空間檢索。空間檢索利用ArcGIS Engine,可用鼠標點擊進行范圍檢索(圓、框、多邊形等)。

圖2 空間數據管理模塊功能結構圖
5.2.1 空間對象的目錄層次管理
目錄管理可以通過目錄瀏覽快速定位到想看的表或地圖,便于對空間信息查看、修改、刪除等操作,是空間數據管理的基礎。數據目錄需實行分條目顯示,以便區分數據類型。
5.2.2 空間對象的參考標準制定
地理空間數據代表著現實世界的某個對象或某個事件,其中每一個要素都代表了現實世界的某一物體或者事件發生的位置。如何對一個要素進行精確定位,涉及統一空間參考系的問題。目前普遍采用基于地球橢球體建立的世界坐標系統。
為了使空間數據能夠相互關聯,必須設置空間參考。空間參考包含一個坐標系統(地理坐標系統或投影坐標系統),它定義了空間數據的統一的數學坐標系。在同一地圖上顯示的地理數據的空間參考必須經過一致性配準。如果兩個圖層的空間參考不一致,會導致兩幅地圖無法正確拼合。
5.2.3 基于Geodatabase和ArcSDE的空間數據存儲與管理技術
空間數據庫是被統一存儲起來的空間數據的集合,是地理信息系統的重要組成部分,是GIS系統的數據支撐。GIS系統需要處理的數據分為兩類:一類主要是與空間位置、空間關系相關的數據,統稱空間數據;另一類是要素的屬性信息,稱為屬性數據。傳統的數據處理方法是將兩類數據分開存儲,利用關系型數據庫(RDBMS)來存儲屬性數據 。考慮到空間數據與文字記錄相比具有特殊性,很難將其所表達的所有信息放在表中進行管理。如經過數字化得到的Shapefile或Coverage,都是以文件形式獨立存儲 。通過在空間數據文件和屬性數據之間建立關聯來構建應用系統,可充分利用數據庫以及文件系統的各自優勢。
基于Geodatabase + ArcSDE的空間數據庫管理技術利用關系型數據庫來存儲和處理空間數據,實現了空間數據和屬性數據的無縫集成和一體化存儲管理。ArcSDE在關系數據庫管理系統(RDBMS)和地理信息系統(GIS)之間充當一個應用網關,充分地把GIS和RDBMS集成起來,實現空間數據的導入導出,以及數據庫操作、要素的空間檢索和空間信息的增刪改等功能的數據操作支持。
隨著科學技術和經濟社會的發展,人們已經越來越認識到空間數據對于政府、企業與公眾生活的重要性,加快了人們獲取、應用空間信息的步伐。在當前大數據時代,隨著智慧城市建設的風行,空間數據的重要性及其管理所面臨的復雜性均越來越顯著。
本文提出基于ArcGIS Engine實現空間數據管理模塊的技術路線,并予以開發實現,實現了空間數據目錄瀏覽、地理數據組織與空間數據庫的管理及空間檢索等主要功能,具有兼容性好以及二次可開發能力強等優勢。在業務關系模型以及空間數據管理效率方面仍需作進一步探索,進一步的工作將體現在基于已有的空間數據管理方式提供效率評價指標并根據不同的業務模式需求提供靈活的可拓展的應對技術框架方面。
[1]劉經南,方媛,郭遲,高柯夫. 位置大數據的分析處理研究進展[J].武漢大學學報·信息科學版,2014(04):379~384.
[2]蘆倩,劉旭華,高晨.基于ARCGIS ENGINE 的水文生態數據管理系統的研究與設計[J]. 甘肅科技,2013(04):23~27.
[3]王曉燕,陳宏斐. 基于ArcGIS Engine的農村土地信息系統設計與實現[J].東華理工大學學報·自然科學版,2013(02):219~223.
[4]劉三民,王杰文.空間數據存儲管理研究綜述[J]. 電腦與信息技術,2006(03):21~29.
[5]蔣波濤.ArcObjects開發基礎與技巧(1)[M].武漢.武漢大學出版社,2006:328~334.
[6]潘愛民.COM原理與應用[M].北京.清華大學出版社,2000:18~20.
[7]劉南,劉仁義.地理信息系統[M].北京.高等教育出版社,2006:114~115.
[8]孟華.基于Geodatabase和ArcSDE的濕地GIS數據庫技術研究與應用實例[J].計算機應用研究,2005(10):184~186.