寧新穩,韓祖杰
(1.鐵道第三勘察設計院集團有限公司,天津 300251;2.西南交通大學 地球科學與環境工程學院,成都 611756)
基于ArcSDE的DLG數據入庫系統研究與開發
寧新穩1,2,韓祖杰1
(1.鐵道第三勘察設計院集團有限公司,天津 300251;2.西南交通大學 地球科學與環境工程學院,成都 611756)
大比例尺數字線劃圖(DLG)數據是鐵路勘察設計中重要、使用廣泛的基礎地理數據,如何實現對DLG數據的高效存儲和管理是基礎地理信息管理系統建設的重點和難點。研究采用VB.NET和ArcGIS Engine作為平臺前端開發工具,利用ArcSDE+Oracle作為后臺數據服務器存儲管理空間數據,成功開發了DLG數據入庫系統,實現了DLG數據的批量、分層、自動、快速入庫。
DLG;數據入庫;ArcSDE Oracle;基礎地理信息
鐵道第三勘察設計院集團有限公司在長期的鐵路勘察設計中,生產了大量的1:500、1:2 000、1:5 000、1:10 000、1:50 000多種大比例尺數字線劃圖(DLG)、數字高程模型(DEM)、正射影像圖(DOM)、數字柵格地圖(DRG)等基礎地理數據產品,它們是鐵路勘察、設計、施工中最基本的數據資料和依據。為了減少數據冗余和資源浪費,實現基礎地理信息資源的高效共享,滿足各業務部門對基礎數據資料應用的需求,需要建立一個對基礎地理數據進行標準化管理和維護的基礎地理信息管理系統,通過采用先進的分布式數據庫管理方式,為基礎地理數據的空間信息化管理提供可視化平臺,為各專業和部門提供完善、優質高效的地理空間數據服務,同時為“數字鐵路”空間基礎設施建設提供數據基礎。
DLG數據具有數據量大、要素復雜、精度要求高、質量要求嚴、應用范圍廣等特點,如何實現對DLG數據的高效存儲和管理是基礎地理信息管理系統建設的重點和難點。本文研究采用Oracle空間數據庫系統對DLG數據進行存儲管理,選用ArcSDE空間數據引擎作為應用系統與數據庫服務器之間的接口,利用ArcGIS Engine提供的組件實現DLG數據的入庫管理。
空間數據庫是采用關系數據庫管理系統(RDBMS,Relational Data Base Managment System)來管理空間數據,具有數據的結構化、數據共享等優點。目前的空問數據庫基本上都是建立在關系型數據庫之上,通過附加一個中間件(空間數據引擎),將不同的操作系統和數據庫平臺的差異屏蔽在中間件之后,這樣也使系統GIS功能應用與后臺數據訪問實現分離,從而降低了系統的復雜度。
Oracle+ArcSDE是目前成熟、穩定的空間數據管理技術。Oracle關系型數據庫支持大數據庫、多用戶的高性能事務處理,在海量數據的存儲、查詢、管理方面具有很大優勢,在處理速度和穩定性方面都有很好的表現[1]。
ArcSDE是空間數據庫解決方案,它在客戶端GIS應用程序和RDBMS間提供了一條數據通路,通過該通路可以實現在數據庫中對空間數據的共享和管理[2~3]。由于利用了數據庫的強大數據查詢機制,ArcSDE可以管理海量的無縫地理數據,可以實現在多用戶條件下的高效并發訪問。它為所有的圖層建立了層表(layer table),以便用于索引,加快查詢速度。每一個圖層由業務表(business table)、特征表(feature table)、空間索引表(spatial index table)和坐標表(point table)組成,在RDBMS中存儲和管理矢量數據。ArcSDE鏈接采用DBMS Server、ArcSDE Server和Client三層體系結構,ArcSDE服務器端軟件在RDBMS基礎上安裝,ArcSDE負責和服務器的所有信息通信,客戶端的請求先提交給ArcSDE,再由ArcSDE提交給數據庫。空間數據庫結構如圖1所示。

圖1 空間數據庫結構圖
2.1 數據質量檢查
DLG類型的基礎地形圖數據通過ArcSDE存入空間數據庫中,不經過數據檢查分析而構建的空間數據庫,會出現入庫后的數據丟失、變形,空間邏輯關系錯誤等情況,從而對使用空間數據庫造成很大影響。因此,必須對基礎地形圖數據的質量進行高效、細致的檢查,包括:完整性檢查、空間邏輯檢查、DEM數據檢查和拓撲一致性檢查等4個方面,保證入庫數據的質量[4],具體內容如表1所示。

表1 DLG數據檢查內容表
基礎地理信息管理系統采用ObjectARX技術,在AutoCAD2010平臺下成功開發了DLG數據質量檢查軟件。
2.2 元數據制定和生成
根據國家和原鐵道部地理信息元數據標準,結合測繪生產的實際情況,制定DLG數據的元數據內容,形成有一定層次結構的,可滿足數據共享需求和數據管理要求的元數據體系結構,包括數據基本信息、數據質量信息、數據坐標系信息等內容[5]。元數據與基礎地理數據的生產、加工、處理、生產管理、質量檢查、數據入庫、用戶的查詢應用等環節緊密結合,它能夠幫助用戶了解基礎地理信息,能更好地實現數據質量控制、數據共享,達到測繪生產的共享和動態管理。基礎地理信息管理系統開發了元數據自動生成模塊,能夠批量生成基礎地理數據的元數據。
ArcGIS系列產品中的ArcCatolog軟件提供了數據入庫功能,DLG數字地形圖通過ArcCatolog錄入數據庫中,將被存儲為點、線、面、注記和multipatch共5個要素圖層。其中,地形圖中的面對象被存儲到面要素和線要素圖層中,文字注記被保存為點要素和注記,塊對象被保存為點要素,而組成塊對象的點、線、面又將分別存儲到點、線、面要素圖層中,帶有高程信息的點、線、面對象還被保存到multipatch圖層中,這樣同一個對象可能被存儲為多個要素,空間數據庫中將出現大量的冗余信息。通過ArcSDE存入到空間數據庫中的DLG數據,原數據文件中的線型、塊符號等信息都丟失了,為了保證數據表達的準確性和合理性,需要按圖層和地物類型進行符號化后顯示,而ArcCatolog軟件沒有按圖層進行DLG數據的入庫,不便于矢量數據的顯示和分析。
因此基于實際應用需求,通過ArcGIS Engine+VB.Net來開發DLG數據入庫系統。預先制定圖層的入庫規則,在Oracle數據庫中創建圖層入庫規則表(DLGRules table),如表2所示。

表2 DLG圖層入庫規則表
例如,圖層名為710100的圖層為等高線,此圖層只存儲為線要素,當某條等高線閉合時,此條等高線也不存儲為面要素;圖層名為1000的圖層,不入點、線、面要素,這樣1000圖層就不存入空間數據庫,實現了圖層過濾。
系統首先讀取數據的元數據文件,獲取數據元數據信息,然后通過ArcGIS Engine提供的IPropertyset接口設置ArcSDE空間數據庫的連接屬性,包括設置服務器名、實例名、數據庫名、用戶名和密碼等,建立與空間數據庫的連接,主要代碼如下:


利用CadWorkspaceFactory、IFeatureDataset、IDatasetContainer等接口讀取DLG數據,轉換為FeatureClass要素類,通過IFeatureCursor接口得到要素類中的每個Feature要素,然后獲得每個Feature要素的Layer字段屬性值,進入圖層入庫規則表中查找對應圖層的入庫規則,根據規則將圖層和幾何類型相同的要素組織起來。對于DLG數據中的塊符號需要做特殊處理,需要把組成塊符號的點、線和面要素過濾掉,系統通過判斷要素中是否包含BlkLinetype屬性字段,如果有則此線要素和面要素為塊符號的組成部分,不保存到要素類中。讀取DLG數據的主要代碼如下:

系統采用GeoDatabase數據模型進行數據的組織,為每個DLG文件建立一個FeatureDataset要素數據集,數據集的空間參考從元數據文件中獲取,然后在FeatureDataset下將圖層和幾何類型相同的要素組織成一個FeatureClass要素類,要素類的命名規則為文件名+圖層名+隨機數,以確保名稱的唯一性。在SDE數據庫中創建FeatureClass要素類的主要代碼如下:


在Oracle數據庫中創建了一個要素類對應表(AddFeatureClass table),用于記錄空間數據庫中每個要素類對應的DLG文件,這樣系統通過查找此表就能快速找到每個DLG文件包含的所有要素類。
基礎地理信息管理系統實現了DLG數據的批量入庫功能,DLG數據入庫界面如圖2所示。

圖2 DLG數據入庫界面圖
基礎地理信息數據顯示與分析子系統從ArcSDE空間數據庫中讀取某DLG文件,圖層經自動符號化后的顯示結果如圖3所示。

圖3 空間數據庫中DLG數據顯示結果圖
本文在研究Oracle+ArcSDE空間數據庫技術的基礎上,制定了DLG數據的入庫流程和規則,成功開發了基礎地理信息DLG數據入庫系統,實現了DLG數據的批量、分層、自動、快速入庫,同時過濾了入庫過程中產生的冗余信息,為DLG空間數據的符號化顯示和分析應用奠定了基礎。該系統經過實際使用,大大提高了基礎地理數據加工和入庫的工作效率,與常規的數據入庫方法相比減少了80%~90%的人工工作量,同時在入庫過程中對數據質量進行了有效的監督控制,達到了DLG數據全息入庫的目的。
[1] 蒙昭良.Oracle DBA高效入職指南[M].北京:清華大學出版社, 2012.
[2] 易國彪,白振興.基于ArcSDE的空間數據庫研究與應用[J].計算機應用,2008,24(3): 161-163.
[3] 黃夢龍,胡 鵬,夏蘭芳.基于Oracle和Geodatabase的福建省基礎地理信息數據庫建設[J].地理空間信息,2008,6(1):46-49.
[4] 張明燈,左志進.1:50000 DLG數據質量檢查軟件[J].地理空間信息,2009,7(3) :27-29.
[5] 毛煒青,郭容寰.元數據在測繪生產管理中的應用[J].測繪科學,2005,31(3):127-128.
責任編輯 徐侃春
DLG Data Loading System based on ArcSDE
NING Xinwen1,2,HAN Zujie1
( 1.Third Railway Survey and Design Institute Group Corporation,Tianjin 300251,China;2.School of Geosciences and Environmental Engineering,Southwest Jiaotong University,Chengdu 611756,China)
The data of Digital Line Graphics(DLG) are the most important and widely used basic geographic data in the survey and design of railways.How to store and manage the DLG data effciently was the key and diffcult point for the construction of Fundamental Geographic Information Management System.Using VB.NET and ArcGIS Engine as development tools,adopting ArcSDE and Oracle as data server to store and manage spatial data,DLG Data Loading System was developed successfully,DLG data can be bulked,layered and loaded into spatial database automatically and rapidly.
DLG;data loading;ArcSDE;Oracle;fundamental geographic information

U212.24∶TP39
A
1005-8451(2016)01-0008-04
2015-05-19
鐵道第三勘察設計院集團有限公司科研項目(721439)。
寧新穩 ,工程師;韓祖杰,教授級高工。