周春波,吳歡,魏偉,吳淑丹
(1.江西省水土保持科學研究院,江西南昌 330029; 2.江西環境工程職業學院,江西贛州 341000)
基于AutoCAD的地下管網圖形屬性一體化方案
周春波1?,吳歡2,魏偉1,吳淑丹1
(1.江西省水土保持科學研究院,江西南昌 330029; 2.江西環境工程職業學院,江西贛州 341000)
描述了AutoCAD的數據庫模型,在詳細闡述DWG/DXF制圖規范(MSD)和AutoCAD屬性數據存儲方式的基礎上,提出了通過嚴格按照MSD所定義的數據結構,對地下管網數據進行有效地存儲與組織,來實現圖形與屬性的一體化。在此基礎上開發了基于AutoCAD的地下管網系統,實現了數據編輯、數據查詢、數據統計、輔助分析和數據質量檢查等基本功能,同時,該系統所生產的地下管線數據可以輕松地實現面向ArcGIS的數據轉換。
AutoCAD二次開發;屬性數據;圖形屬性一體化;GIS;數據轉換
地下管網信息是一種重要的城市基礎空間信息數據,城市地下空間規劃、地下管網運行建設和維護管理、城市應急管理、解決城市馬路拉鏈等問題都需要現勢、準確和完整的地下管網信息[1]。當前,隨著人們對地下管網信息重要性的認識不斷提高,國內地下管網信息化建設正如火如荼,全國各地紛紛組織開展了城市地下管網普查工作,積極推進城市地下管網信息化建設[2],建立健全城市的地下管網數據庫。
AutoCAD軟件具有編輯功能強大、操作簡單以及可二次開發等優點,近年來已被廣泛地應用于地下管網普查和系統建設中,其主要被用于數據處理與數據建庫。也有人嘗試利用其構建中小城市的地下管網系統,這些系統有的將地下管網屬性數據以擴展數據形式存儲[3];有的通過創建具有特定屬性和方法的自定義實體,以實現地下管網圖形與屬性數據融合與同步聯動的效果[4];有的利用外部數據庫(Access、SQLServer等)存儲地下管網屬性數據[5]。這些系統雖然大都實現了數據處理與智能成圖等基本功能,能夠滿足城市地下管網數據采集、更新與管理的一般需求,但在數據互操作以及海量數據的管理等方面仍存在不足。
因此,本文在探討AutoCAD環境下屬性數據的存儲方式的基礎上,提出一種行之有效的圖形屬性一體化方案,實現地下管網圖形與屬性的一體化。
DWG是AutoCAD的數據文件格式,其實質是一個小型的數據庫。每個AutoCAD圖形文件都對應著一個數據庫(Database)對象,這個數據庫對象包含了AutoCAD中的所有圖形對象和非圖形對象,數據庫中的每一個對象都用唯一的句柄(Handle)進行標識[6]。DWG數據庫包含圖形對象和非圖形對象。
圖形對象是指具有圖形表達的對象,如直線、多段線、圓、文本和圖塊等實體,均為AutoCAD自帶的實體類型。此外,還可以創建自定義實體對象,即從基類(AcD-bObject和AcDbEntity)中派生出具有特定意義和表現的實體對象,但這只能在ObjectARX開發環境下實現。
非圖形對象是指對象字典和符號表等不具有圖形表達的對象。符號表和對象字典是用于存儲數據庫對象的容器,符號表的類型是固定的,不能添加和修改符號表對象;對象字典是用于存儲非圖形對象的一般的容器對象,符號表只能存取固定符號表記錄對象,而對象字典可以存儲多種由數據庫對象基類(DbObject)派生的對象,字典中也可以存放字典對象,常保存于對象字典中的對象有數據表和擴展記錄。字典又分為命名對象字典(Named Object Dictionary,NOD)和對象擴展字典(Extension Dictionary)兩種,命名對象字典用于保存整個圖形文件的相關信息,對象擴展字典則保存對象的信息數據。
3.1 DWG/DXF制圖規范(MSD)
DWG/DXF制圖規范(Mapping Specification for DWG/DXF,MSD)是Esri公司在2008年制定的用于對DWG或DXF文件的信息進行編碼,使其具備非圖形屬性的GIS要素類和ArcGIS軟件中所定義的地理空間坐標系統的一項數據規范。該規范利用標準的DWG/DXF數據結構來定義模式、存儲數據,并定義一個地理空間坐標系統。DWG要素類與ArcGIS要素類的映射關系如圖1所示,通過該圖可以了解MSD要素類在DWG數據庫中的組織方法和各關鍵部位之間的相互關系。

圖1 MSD要素類映射關系(引自MSD技術白皮書)
MSD定義的要素類型包括MSD要素類結構、要素類型、要素查詢、字段名及其默認值4種類型。MSD可定義的對象類型包括坐標系統、要素類集合、要素類、要素類型、要素屬性值、字段和實體屬性值等。依據MSD制圖規范定義的MSD要素類可被ArcGIS識別為GIS要素類。
3.2 AutoCAD屬性數據的存儲方式
AutoCAD本身提供了一些存儲非圖形數據的方法,如塊屬性數據和實體擴展數據等。此外,還可以通過鏈接外部關系型數據庫的方式來存儲實體的屬性數據。下面簡要介紹幾種常見的方法。
(1)直接應用特性存儲
AutoCAD中的每個圖元都有相應的操作方法和特性。直接應用特性存儲屬性數據,就是有效地利用圖元的空置特性存放用戶自定義屬性數據。例如,塊參照的“Z比例”特性和二維多段線的“厚度”特性等,這些特性在二維繪圖系統中幾乎不會被使用,因此,可以利用這兩個特性來存儲屬性數據,如可將要素實體編碼存放在塊參照的“Z比例”特性中,系統便可以通過該特性數據來識別該圖塊的要素類型。這種方式巧妙地使用了AutoCAD的特性,其缺點是可存儲的屬性數據少,不適宜較多屬性數據項的存儲。
(2)塊屬性數據
塊屬性數據是在插入塊時輸入的屬性數據。為了能在插入塊時輸入該塊的屬性數據,用戶必須在定義塊時定義屬性的樣式。但是,塊屬性數據只有塊圖元才可定義,其他圖元則不能使用,塊屬性的使用范圍有較大的局限性。雖然也可以為其他圖元單獨定義一個屬性塊,以存儲其屬性數據內容,然則這種方式并未將圖元對象與屬性塊關聯,極容易因誤操作導致屬性數據丟失。
(3)鏈接外部數據庫
AutoCAD可以將其圖形對象與外部數據庫表中的數據相鏈接[7,8]。其原理是,通過使用ODBC(開放式數據庫連接)和OLE DB來訪問外部數據庫,如Microsoft Access、Excel、SQL Server和Oracle等,將數據庫的表記錄鏈接到圖形對象,以實現圖形對象與數據庫對象之間的通信,即可以獲取圖形對象存儲在數據庫中的屬性信息。通過將句柄與其他屬性數據組成的關系表同時存入數據庫,實現數據庫與DWG圖形的雙向通信,既可從圖形對象查找其屬性數據,亦可根據數據庫表記錄查找對應的圖形實體。
(4)自定義實體對象
自定義實體是ObjectARX開發中的一種特有的數據類型,通過繼承AcDbObject和AcDbEntity類,可以派生具有特定的屬性與操作方法的實體對象。自定義實體類型具有較好的封裝性,并具有較高的保密性,其存儲的屬性數據內容難以在程序之外被查看。
(5)擴展數據
AutoCAD的擴展數據包括實體擴展數據和對象擴展字典。實體擴展數據能夠存儲的數據量有限,每個實體附加的實體擴展數據不能超過16K,它可以存儲多種數據類型的信息,包括字符串、點、實數、整數和實體句柄等。而對象擴展字典則沒有數據大小的限制,并且可以定義比擴展數據更多的屬性數據結構。實體擴展數據使用頗為廣泛,例如,CASS測圖軟件使用了實體擴展數據存儲地形要素的屬性數據,AutoCAD軟件本身的開發亦使用了實體擴展數據。
表1列出了上述5種屬性存儲方式的可存儲數據類型、數據大小、數據安全性以及使用范圍等5個方面的對比。

AutoCAD屬性數據存儲方式對比 表1
上述5種方法中,使用最多的當屬擴展數據和鏈接外部數據庫方式,這兩種存儲方式各有優缺點。
數據庫方式的優點是可支持存儲的數據類型豐富,數據查詢檢索快,并且支持“SQL”查詢;其缺點是圖形與屬性的關聯過程比較復雜,在執行刪除等操作時,容易產生圖形與屬性之間的不一致性,另外,當外部屬性數據庫內存放的數據量過大時,圖形與屬性數據的聯動效率便會降低,影響使用的效果,導致的結果是用戶往往并不太愿意去使用這個數據庫。
擴展數據的優點是與圖形與屬性結合緊密,無須對其進行關聯,有利于圖形屬性的一體化操作,維護數據的邏輯一致性,并且這種方式與MSD制圖規范內對屬性數據的定義規則相符合,許多測圖軟件采用了這種方式來組織GIS數據;擴展數據的缺點是對儲存在DWG文件中的屬性數據進行查找、編輯、統計、分類時,其效率較低[40]。
3.3 地下管網圖形屬性一體化
所謂圖形屬性一體化,就是建立圖形數據與屬性數據之間的強聯系,一旦其中任何一方發生改變,另一方也會隨之變化。在AutoCAD中實現地下管網圖形屬性一體化,可通過將屬性數據附著于圖形實體的方式實現,使用實體擴展數據或對象擴展字典,將管網要素的屬性數據依附于管網圖形實體上,使圖形與屬性之間形成一種緊耦合關系。這對于圖形與屬性的一體化操作十分有益,例如在圖形數據的裁剪輸出時,若圖形和屬性數據分開存放,不僅要知道圖形數據的范圍,還需要明確屬性數據的范圍,而圖形屬性一體化存儲則省去了這個麻煩,所見即所得。本文所采取的方案是通過嚴格按照DWG/DXF制圖規范(MSD)所定義的數據結構,對地下管網數據進行有效地存儲與組織,來實現圖形與屬性的一體化。
在數據的存儲方面,將地下管網系統中的通用屬性數據如要素實體編碼、要素連接關系等存儲在實體擴展數據中,而地下管網特有屬性數據內容,如管線類型、材質、尺寸等,則存放在實體的擴展字典中。
在數據的組織方面,為每一類管網要素賦予一個唯一的要素實體編碼,這樣就生成了一個唯一的標識,通過建立要素實體編碼與要素類的對照關系,便可以將地下管網DWG圖形實體組織為類似于GIS要素類的要素實體。
具體方案如圖2所示。

圖2 圖形屬性一體化方案
3.4 基于AutoCAD的地下管網系統
本文開發的地下管網系統采用AutoCAD 2012為基礎開發平臺,在數據層面,依據行業技術規范與數據標準,建立地下管網數據存儲結構,將地下管網的圖形和屬性數據以DWG圖形進行管理,實現了圖幅管理和文件目錄管理功能;在應用層面,結合多方面的需求,以實際生產應用為目標,實現了數據編輯、數據查詢、數據統計、輔助分析、數據質量檢查等多種功能。

圖3 基于AutoCAD的地下管網系統主界面
3.5 面向GIS的數據轉換
單個的DWG文件難以高效地管理城市的地下管網數據,采用空間數據庫管理海量管網數據是行之有效的解決辦法,因此,地下管網數據面向GIS的數據轉換(入庫)功能顯得尤為重要。一般常用的DWG數據入庫方法有:基于中間文件的讀取轉換、直接轉換法和基于FME的語義轉換法[10~12]。
本文按照MSD標準制定的數據結構,具有面向ArcGIS的特性,能自動被ArcGIS識別為只讀要素類。使用ArcGIS提供的數據轉換工具,可以很方便地將DWG中的管網要素類轉換至地理空間數據庫。Arc-GIS提供了3種工具來實現CAD要素類向地理數據的轉換,分別是“CAD至地理數據庫(Geodatabase)”工具、“要素類至要素類”工具和“數據合并”工具。
以本系統創建的某城市地下管網DWG數據為例,利用“CAD至地理數據庫(Geodatabase)”工具,將CAD數據集中的12個自定義管網要素類轉換成文件地理數據庫(gdb格式),轉換前后的要素類如圖4所示。檢查轉換后GIS要素類的要素數量,與DWG圖形中數量完全一致,要素類屬性數據結構齊全,說明DWG圖形中的管網要素已全部成功轉換至地理數據庫中,轉換過程無數據損失。將數據庫中的管網要素類加載到ArcMap中(如圖5所示),可以查看每個要素實體的屬性數據,還可以進行符號化、數據查詢統計等其他操作,整個轉換過程輕松、簡便,無需人工干預。

圖4 轉換前后數據內容

圖5 在ArcMap中加載數據庫中的管網數據
當然,該轉換方法具有一定的局限性,由于其基于Esri的MSD規范實現,所以只能完成DWG管網數據向ArcGIS空間數據庫的快速轉換,但仍然為地下管網數據的快速入庫提供了一種簡單易行的方法。
基于AutoCAD平臺開發地下管網系統,具有開發成本低,數據使用率高等優點。本文提出的地下管網系統圖形屬性一體化方案具有較好的操作性,能夠解決地下管網信息化建設過程中存在的一些問題,具有一定的應用價值。
[1] 江貽芳,顧旭東,孫維志.城市地下管線信息管理系統建設若干問題探討[J].工程勘察,2006(9):58~61.
[2] 李學軍.城市地下管線探測與管理技術的發展及應用[J].城市勘測,2010(4):6~11.
[3] 楊小兵.利用ObjectARX開發小型地下管線信息管理系統[J].城市勘測,2010(4):74~76.
[4] 王乾,李剛,趙海民.ObjectARX自定義實體的地下管線前端采集系統開發[J].測繪學,2010(5):214~216.
[5] 王哲.基于CAD二次開發技術的晉城巿供水管網管理系統的硏究[D].太原:太原理工大學,2012.
[6] 李長勛.AutoCAD ObjectARX程序開發技術[M].北京:國防工業出版社,2005.
[7] 馬榮華,黃杏元.GIS認知與數據組織研究初步[J].武漢大學學報·信息科學版,2005(6):539~540.
[8] 張保鋼.海量城市空間數據的文件管理方法及應用[J].測繪通報,2002(9):48~50.
[9] 楊永崇等.基于空間信息網格的數字地圖分幅(塊)方法[J].測繪科學,2010(2):201~203.
[10] 張保鋼,羅曉燕.超特大城市地形圖數據建庫分區設計[J].測繪通報,2007(8):8~9.
[11] 劉德兒,王亮.基于地理要素編碼的數字地形圖入庫方法及應用[J].測繪標準化,2009(2):8~12.
[12] GB/T 13923-2006.基礎地理信息要素分類與代碼[S].
Graphic Attributes Integration Scheme of Underground Pipe Network Based on AutoCAD
Zhou Chunbo1,Wu Huan2,Wei Wei1,Wu Shudan1
(1.Jiangxi Provincial Institute of Soil and Water conservation,Nanchang 330029,China; 2.Jiangxi Environmental Engineering Vocational College,Ganzhou 341000,China)
This paper describes the AutoCAD database model,based on elaborate Mapping Specification for DWG/ DXF(MSD)and AutoCAD attribute data stored on the proposed MSD through strict accordance with the defined data structures,underground pipe network data effective storage and organization,to achieve the integration of graphics and attributes.On this basis,the development of the underground pipe network system based on AutoCAD,to achieve a data editing,data query,statistics,assisted analysis and data quality checks and other basic functions,while the system is produced by underground pipeline data can be easily achieved for ArcGIS data conversion.
secondary development of AutoCAD;attribute data;integration of graphic and attribute;GIS;data conversion
1672-8262(2014)06-87-05
P208.2
B
2014—05—20
周春波(1989—),男,助理工程師,主要從事水土保持監測工作。
江西省水利科技項目(KT201109)