劉朝輝
河北九華勘查測繪有限責任公司,河北 保定 071000
AutoCAD軟件作為大比例尺地形圖測繪的一個基礎平臺,有著非常廣泛的應用,其圖形要素的屬性都以外掛數(shù)據(jù)庫方式管理。為了使地形數(shù)據(jù)與GIS系統(tǒng)進行對接,對CAD數(shù)據(jù)進行GIS轉換是非常必要的。由于CAD的實體(點、線或面)及符號(以塊的形式組織)完全不同于GIS的數(shù)據(jù)組織格式,這些都要求找到一套較好的方案進行批量無縫的轉換。
對于上述情況,ArcGIS提供了CAD轉換到Feature Class的幾種實現(xiàn)方法,每種方法都有其適用的場合、優(yōu)勢。
CAD文件是由諸如顏色、線型、線寬、符號等靜態(tài)圖形特征組織后的圖層集合,其圖層并沒有象GIS中的圖層那樣組織嚴密,實體/元素都包含在一個單一的文件中,屬性數(shù)據(jù)的主要描述圖層和注記。
ArcGIS在讀取CAD文件的時候,沒有按照CAD的數(shù)據(jù)組織方式分層,而是根據(jù)要素類型分層,將所有同一類型的要素放置到一個圖層上來。圖層信息存儲在layer字段。
在CAD轉換為FeatureClass的時候要素在轉換過程中,除了要素CAD的數(shù)據(jù)轉化為FeatureClass,還要將屬于同一圖層的要素打散,按照Layer字段值再次分層。在ArcGIS下有多種方式實現(xiàn)CAD轉featureClass?,F(xiàn)有的功能包括:數(shù)據(jù)互操作擴展提供的export data功能,gp等。
在ArcGIS下有多種方式實現(xiàn)CAD轉featureclass?,F(xiàn)有的功能包括:數(shù)據(jù)互操作擴展提供的export data功能,gp以及gp提供的示例。
這種做法比較繁瑣,分層導入每次都要去設置過濾屬性,效率比較低下,全手工操作,對作業(yè)人員提出了很高的要求,不適合大規(guī)模生產(chǎn)。
本文提出了一種新的數(shù)據(jù)轉換方式,其主導思想是:將CAD數(shù)據(jù)進行分層處理,按地形類型及實體類型分層,在AutoCAD下進行編輯和查錯,將編輯好的數(shù)據(jù)生成文本文件,根據(jù)各層對數(shù)據(jù)的不同要求,將擴展屬性放入文本文件中,利用ArcEngine+c#開發(fā)轉換程序,將文本文件直接生成shp文件。
下面是具體的作業(yè)流程:
如果AutoCAD文件的層比較亂,或者各種地物混在一個層中,就需要采用人工或程序自動提取的辦法,將數(shù)據(jù)分類分層。
1)圖面表示應滿足相關規(guī)范或規(guī)定對1:500或1:1000地形圖的要求,實體屬性應滿足1:500或1:1000基礎地理信息數(shù)據(jù)的要求。全要素組織地形,相鄰分幅的數(shù)據(jù)必須作接邊處理,且分層必須統(tǒng)一;
2)文字注記應保持其完整性,如“長安大街”,應為一個整體,可通過軟件進行查詢;
3)對于圖例符號,必須遵照相關國家標準制作和使用圖例及線型,且圖例和線型不能被打散;
4)建筑物、綠地、水系、橋梁、接圖表等面狀數(shù)據(jù)必須封閉為一個整體,面狀數(shù)據(jù)要有高程;
5)因不同格式的數(shù)據(jù)表達方式不同,所有信息(包括擴展屬性)必須可讀、可提取,不能使用不能讀取的外部參照或型文件。
3.2.1 分層
序號 CAD層名 要素類 集合特征 說明1 主要建筑 主要建筑 面 建筑物2 次要建筑物 次要建筑物 面 棚房、簡易房等3 水系 河流、湖泊 面 河流、湖泊等4 綠地 綠地 面 綠地、苗圃、花壇等5 獨立地物 獨立地物 點 路標、電力通訊桿等6 道路中心線 道路中心線 線 道路中心線7 注記 注記 點 道路名稱、單位名稱等
3.2.2 數(shù)據(jù)庫結構
1)主要建筑物屬性表結構
字段名 字段類型 備注Handle Char(20)材質(zhì) Char(8)樓層 Integer樓高 Decimal(8,2)高程 Decimal(8,2)……
2)道路中心線屬性表結構
字段名 字段類型 備注Handle Char(20)名稱 Char(100)………
3)次要建筑物、綠地(水系)屬性表結構
字段名 字段類型 備注Handle Char(20)名稱 Char(100)……
4)獨立地物屬性表結構
字段名 字段類型 備注Handle Char(20)塊名 Char(20)旋轉角 Decimal(8,6)……
5)注記屬性表結構
字段名 字段類型 備注Handle Char(20)注記內(nèi)容Char (100)字高 Decimal(8,2)字寬 Decimal(8,2)……
1)在地形圖上繪制一定間隔的縱線和橫線,將圖形分為若干矩形區(qū)域,按區(qū)域逐線進行檢查,檢查CAD圖形數(shù)據(jù),確保每一建筑物注記存在且唯一(包含材質(zhì)和樓層,其中樓層為1時不能省略);
2)檢查CAD圖形網(wǎng)格線附近的建筑物確保建筑物形狀正確且閉合(主要是由于分幅產(chǎn)生的建筑物分隔錯誤);
3)使用程序單獨提取“建筑物和注記”層,并另存為“建筑物和注記.dwg”文件;
4)使用程序?qū)ㄖ镞M行拓撲檢查,以下是具體命令及說明:
各命令運行順序:
注意:以上檢查請多次重復使用直至沒有錯誤。
5)使用程序給建筑物添加擴展屬性。
1)新建“綠地”層,在地形圖上繪制一定間隔的縱線和橫線,將圖形分為若干矩形區(qū)域,按區(qū)域逐線進行檢查,查圖使地形圖綠地在“綠地”層下并且保證綠地都是閉合的;
2)單獨提取“綠地”層,并另存為“綠地.dwg”文件;
3)使用程序?qū)G地進行拓撲檢查,以下是具體命令及說明:
智能家居和樣板房的諸多理論設想和人性化設計都已經(jīng)碩果累累,但是其展示和體驗效果卻始終不盡如人意,在設計和展示之間存在較大的鴻溝,需一個傳達媒介來提升體驗感。本文基于Unity3D 平臺,結合虛擬樣板房的設計理念及概念,設計和實現(xiàn)了一個具備沉浸式、交互式體驗感的樣板房設計和智能家居的展示系統(tǒng),有助于客戶更真實地體驗樣板房和智能家居設計效果、設計師修改家裝設計和建造者調(diào)整建筑方案。
運行順序:
注意:以上檢查請多次重復使用直至沒有錯誤。
新建“獨立地物”層,根據(jù)要素名稱提取這三層要素,并另存為“獨立地物.dwg”文件。
1)新建“水系”層,在地形圖上繪制一定間隔的縱線和橫線,將圖形分為若干矩形區(qū)域,按區(qū)域逐線進行檢查,查圖使河流,湖泊等水系置于“水系”層下并且保證水系都是閉合的;
2)單獨提取“水系”層,并另存為“水系.dwg”文件;
3)使用程序?qū)λ颠M行拓撲檢查,以下是具體命令及說明:
注意:以上檢查請多次重復使用直至沒有錯誤。
1)新建“道路”層,在地形圖上繪制一定間隔的縱線和橫線,將圖形分為若干矩形區(qū)域,按區(qū)域逐線進行檢查,查圖使道路置于“道路”層下并且保證道路都是閉合的;
2)單獨提取“道路”層,并另存為“道路.dwg”文件;
3)使用程序?qū)Φ缆愤M行拓撲檢查,以下是命令及說明:
注意:以上檢查請多次重復使用直至沒有錯誤。
1)新建“道路中心線”層,在地形圖上繪制一定間隔的縱線和橫線,將圖形分為若干矩形區(qū)域,按區(qū)域逐線進行檢查,查圖使道路中心線置于“道路中心線”層,在十字路口、丁字路口處道路中心線斷開;
2)單獨提取“道路中心線”層,并另存為“道路中心線.dwg”文件;
3)對道路添加擴展屬性(道路名稱)。
在CAD下將各層數(shù)據(jù)分別輸出txt文件,再轉為.shp文件入庫。
利用該轉換方式將CAD數(shù)據(jù)轉換ArcGIS的數(shù)據(jù),不僅保證數(shù)據(jù)的完整性和可使用性,且轉換效率也有很大提高,能夠進行大批量的自動處理。借助此方式我們可以實現(xiàn)CAD與GIS的數(shù)據(jù)交互,為GIS在工程設計領域進行雙向集成提供了技術基礎。
[1]陳建飛,等.地理信息系統(tǒng)導論[M].北京:科學出版社,2010.
[2]陳建飛,等.基于VBA的ArcObjects編程——面向任務的方法[M].北京:科學出版社,2010.
[3]邱洪剛等.ArcGIS Engine開發(fā)從入門到精通[M].北京:人民郵電出版社,2010.
[4]《1:5001:10001:2000地形圖圖式》GB/T7929-1995[S].北京:中國標準出版社,1996.