• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于DWGDirect的CAD到GIS數據轉換研究

      2015-04-10 03:47:14于艷超許捍衛(wèi)杜嬋娟
      地理空間信息 2015年1期
      關鍵詞:類庫數據模型圖層

      于艷超,許捍衛(wèi),杜嬋娟

      (1.河海大學 地球科學與工程學院,江蘇 南京 210098;

      2.河南省地質礦產勘查開發(fā)局 第四地質礦產調查院,河南 商丘 476000)

      基于DWGDirect的CAD到GIS數據轉換研究

      于艷超1,許捍衛(wèi)1,杜嬋娟2

      (1.河海大學 地球科學與工程學院,江蘇 南京 210098;

      2.河南省地質礦產勘查開發(fā)局 第四地質礦產調查院,河南 商丘 476000)

      針對CAD數據到GIS數據的轉換中大量存在的信息缺失、效率低下、更新困難等諸多問題,提出基于DWGDirect類庫,結合ArcEngine實現CAD數據到GIS數據的轉換,很大程度上解決了上述各種問題,確保了數據轉換的科學性和高效性。

      DWGDirect;OpenDWG;CAD;GIS;AE;數據轉換

      數據的采集和獲取是GIS建設的基礎工作。為了計算機輔助繪圖的方便,我國測繪部門常使用諸如CAD 之類的繪圖軟件制作DLG[1,2],使得數據的維護、更新變得極其不便。張葉等論述了城市基礎CAD到GIS數據轉換的一些問題,并介紹了基于Geoway進行數據轉換的方法,但存在編碼不規(guī)范、構面工作量大等問題[3];任東風等通過AO+VB設計了數據轉換程序,實現AutoCAD 環(huán)境下的大比例尺地形圖數據向GIS 數據格式的轉換[4];李金朋等通過插件式GIS實現CAD數據到GIS數據的轉換[5]。基于上述研究,本文采用DWGDirect 類庫,成功地解決了2種數據模型之間的無損轉換。

      1 CAD與GIS數據模型的區(qū)別

      傳統(tǒng)的CAD模型設計的目的是方便制圖,它往往只注重圖面效果,而忽略要素屬性信息,且只以文件形式存儲。而GIS數據模型設計的目的主要是為了數據分析和挖掘等,能同時兼顧圖形和屬性信息的表達,它不僅支持文件存儲,而且可以依賴關系數據庫模型而存儲。CAD處理的多為規(guī)則圖形,而GIS多為非規(guī)則圖形。CAD圖形功能強而屬性處理能力弱,而GIS圖形與屬性操作比較頻繁,且專業(yè)化特征比較強,CAD則不具備地理意義上的查詢和分析能力[6]。

      1.1 CAD數據模型

      以DWG為后綴的圖形文件是由CAD生成的一種二進制文件,包括Header、Entities、Tables、Blocks和Contingency Header,分別是頭部、實體部、表部、塊實體部以及應急頭部。Entities中存儲的是該DWG中的全部Entity,Entity頭部長度是一定的,而且對每一個Entity都是相同的;而Entity尾部,CAD公司為了節(jié)省資源,采用了極為緊湊的格式,它描述了Entity的主要集合參數。

      CAD圖形是一些對象的集合,這些對象存儲在數據庫(AcDbDatabase)中,實體、符號表和數據詞典是數據庫中最基本的對象。AcDbDatabase中的所有圖形元素均被稱為實體(Entity),每一種實體都被系統(tǒng)賦予唯一的類型名稱,通過訪問CAD實體,我們可以把外部信息附加到文件中,這是簡化復雜制圖工作的一種最有效的途徑。AcDbDatabase中所有實體的關系如圖1所示。

      圖1 AcDbDatabase中實體的關系

      1.2 Geodatabase模型

      Geodatabase是一種對象-關系數據模型,通過面向對象的數據建模方法能夠更自然地描述要素,自行定義對象類型,定義拓撲、空間和一般關系,以及掌握這些對象如何與其他對象發(fā)生交互作用。優(yōu)點:空間數據統(tǒng)一存儲、空間數據錄入和編輯更加精確、用戶操作更直觀、要素擁有更豐富的背景信息、可以制作更優(yōu)質的地圖、動態(tài)顯示地圖上的要素、定義了更好的要素外形、要素集是連續(xù)的、多用戶同時編輯地理數據等。

      Geodatabase數據模型包含3種空間數據表達方式:用矢量數據表達離散的空間要素;用柵格數據表達影像、格網化專題數據、曲面;用不規(guī)則三角網(TIN)表達曲面。Geodatabase按照一定的模型和規(guī)則組合空間要素數據集(Feature Dataset),它按層次型的數據對象(Object)來組織空間數據,這些數據對象包括:對象類、要素類、要素數據集和關系類等。Geodatabase層次結構如圖2所示。

      圖2 Geodatabase層次結構

      1.3 CAD與GIS數據圖形對照

      CAD與GIS數據之間的區(qū)別主要體現在對圖元表達的不同[7],CAD圖元主要分為塊、文本、線、圓弧等;而GIS則分為點、線、面和文本等。以點狀地物為例,CAD會用各種符號和注記來表示地理實物,注重地物的視覺表達,并且符號的制作也具有靈活性,但是不注重對拓撲關系的反映;而GIS數據在表示點狀地物時必須進行符號化(表1)。

      表1 CAD圖形與GIS圖形對照表

      2 DWGDirect技術

      2.1 DWGDirect簡介

      DWGDirect類庫是一套完全面向對象的類庫。該類庫支持CAD的眾多版本,能夠直接讀取DWG文件以獲取數據信息,并且具有較高的效率和安全性。DWGDirect類庫包括:

      1)OdRx類:在運行時對類進行注冊和識別;

      2)OdDb類:表示AcDbDatabase中的所有Entities數據;

      3)OdGi類:用來實現對數據對象進行渲染;

      4)OdGe類:一種通用幾何類(像點、線、面);

      5)OdBr類:該類主要用于B-Rep;

      6)OdGs類:是一種圖形系統(tǒng)類,用來為用戶提供矢量化。

      在DWGDirect類庫中,一個DWG文件在內存中實際上就是一個OdDbDatabase類的實例。每個實例代表一個數據庫,它是一些實體對象的集合,包括9個符號表和1個對象字典: UCS、Text Style、Layer、Line Type、View Port、RegApp、Block等和Object字典。其中每個表和字典中均包含很多記錄,像Block Table中包含多條Block Table Record 記錄,點、線、圓等Entities數據都包含在Block Table Record 中。根據此OdDbDatabase數據庫結構,利用對應的類庫函數,就可方便地訪問到CAD文件中的Entities數據等信息[8]。

      2.2 Windows平臺配置

      在Windows OS下DWGDirect類庫提供單線程的靜態(tài)鏈接庫(DD-vc6ML)、多線程的靜態(tài)鏈接庫(DD-vc6MT)、靜態(tài)多線程的DLL庫(DD-vc6MD)和動態(tài)鏈接庫(DD-vc6)等。在Windows OS下所需要的頭文件都包含在DD_NonLibs.zip中,使用時選擇正確的類庫頭文件和靜態(tài)動態(tài)鏈接庫,并在項目中添加引用即可。

      3 基于DWGDirect的CAD到GIS數據轉換

      對于經過數據預處理的本地CAD數據,通過數據轉換、數據分層、數據后處理等操作,完成CAD數據的轉換入庫(圖3)。

      圖3 CAD數據轉換入庫流程圖

      3.1 數據預處理

      1)數據預處理。在進行轉換前,首先應對其進行簡單預處理,以減少轉換過程中不必要的錯誤,預處理在AutoCAD中進行即可:確定所有圖層是否處于打開狀態(tài),是否未凍結,是否未鎖定;清除廢塊,刪除重復要素,檢查是否存在未封閉的多邊形等。

      2)配置表設計。為了滿足不同用戶的需求和項目應用的變化,設計使用Microsoft Access數據庫作為系統(tǒng)配置表。對轉換過程中涉及到的基本屬性、擴展屬性、數據庫圖層、字段、分層對照關系以及轉化進程和錯誤信息的日志等進行配置。

      3.2 數據轉換

      數據轉換主要是把CAD中的實體數據,按照表 1對應的幾何類型分為點、線、面、注記4層,并保存其屬性信息,最后存儲到臨時Geodatabase中,設為GB1。

      1)創(chuàng)建臨時數據庫:CAD通常采用幾何坐標系,而GIS則采用地理坐標系,因此在創(chuàng)建數據庫時,可以讀入GIS自帶的或自定義的坐標系文件。創(chuàng)建點線面注記層時,可以在配置表中設定其需創(chuàng)建的字段。

      2)屬性信息獲取:屬性信息包括基本屬性和擴展屬性。分別封裝2個類:MyData和MyXData。在事務處理中,通過類的實例,將屬性信息賦給要素?;緦傩?,例如Name、Line Type、Code、Layer Name等按照需要選擇保留;對于擴展屬性,利用各實體句柄與圖形建立關聯,也讀取出來,實現圖形數據與屬性信息的對應關系,為第三步的數據分層作好掛接。

      3)數據轉換:按照圖1所示CAD數據模型,基于DWGDirect類庫,創(chuàng)建實例和事務處理過程,遍歷Block Table Record,獲取其實體數據,按照表1所示對照關系,進行CAD數據到GIS數據的轉換,最終將數據保存到點、線、面、注記4個層中。

      3.3 數據分層

      CAD數據依據層名Layer Name來區(qū)分各個層,數據轉換結束后Layer Name作為基本屬性存儲在GB1中,可以據此來作為分層的依據。

      1)配置分層表:建立CAD圖層名到GIS要素(點線面注記)之間的分層對照表,該表至少包括CAD圖層名,GIS點、線、面、注記層名5個字段。

      2)創(chuàng)建分層數據庫:通過對客戶需求進行詳細分析,設計標準配置表:入庫圖層(圖層名和幾何類型)、圖層字段對應關系(圖層名和字段名)、字段列表。通過這些對照關系,建立分層數據庫,進行分層。

      3)數據分層:讀取GB1,對其要素進行遍歷,按照分層表進行分層。另外,由于實際情況往往比較復雜,可能需要根據一些屬性編碼和塊名來進行分層。例如,如果CAD數據中提供諸如CASS碼之類的信息時,我們可以在配置表中建立CASS和國標碼之間的對照關系,并依此進行分層。

      3.4 數據后處理

      在數據入庫之前,需要對數據進行檢查,杜絕可能對建庫造成影響的因素(例如接邊,拓撲錯誤等)。根據檢查結果作相應處理:對于道路、房屋線等重要要素進行接邊處理,確保要素的完備性;對房屋線等進行構面,找到共用邊線的地方,對這些要素進行拓撲分析并參考構面點進行拓撲構面;對面狀要素,進行面狀修復。

      4 項目應用

      安徽省某市測繪院通過上述技術,將DWG數據文件的地形圖文件轉換入庫,從而建立GIS地形數據庫,為城市規(guī)劃、管理和建設提供GIS數據支持與服務。該方法不僅能夠繼續(xù)沿用原有的生產習慣和作業(yè)方式,而且有效地避免了培訓學習和重復作業(yè)造成的巨額成本。同時,可以解決其他部門和業(yè)務環(huán)節(jié)對空間數據的需求,可以最大限度地利用GIS在空間數據管理和共享中的能力。

      [1] 王波,張亮,孫霞.CAD向GIS數據的轉換入庫[J].地理空間信息,2011,9(3):24-26

      [2] 李淑清.地形圖與Geodatabase轉換的探討[J].地理空間信息,2010,8(2):26-28

      [3] 張葉,孫毅中,陳年松.CAD城市基礎數據到GIS轉換的有關問題探討[J].測繪與空間地理信息,2007,30(1):94-97

      [4] 任東風,徐立軍,才藝.CAD到ArcGIS數據轉換問題[J].遼寧工程技術大學學報:自然科學版,2010(增刊):25-27

      [5] 李金朋,劉化冰,李新雙.基于插件式GIS實現CAD數據到GIS數據的轉換[J].測繪,2011,34(4):168-170

      [6] 周小成,焦道振.基于Geodatabase的CAD數據到GIS的解決方案[J].四川測繪,2005,28(2):74-77

      [7] 孔毅,張志強,趙崇亮.基于ArcGIS的CAD數據入庫研究[J].測繪通報,2010(5):54-56

      [8] 晏韻,許超.基于DWGDirect訪問AutoCADDWG圖形文件[J].工程圖學學報,2010(6):178-181

      P208

      B

      1672-4623(2015)01-0084-03

      10.3969/j.issn.1672-4623.2015.01.028

      于艷超,碩士,主要從事GIS開發(fā)與應用工作。

      2014-01-03。

      項目來源:國家自然科學基金資助項目(41101374、41101308)。

      猜你喜歡
      類庫數據模型圖層
      用Java編寫客戶機/服務器端應用程序
      Python在數據可視化中的應用
      面板數據模型截面相關檢驗方法綜述
      數據結構課程教學改革方案和應用效果
      軟件工程(2017年12期)2018-01-29 17:35:55
      數據結構可視化類庫的設計與實現
      加熱爐爐內跟蹤數據模型優(yōu)化
      電子測試(2017年12期)2017-12-18 06:35:36
      巧用混合圖層 制作抽象動感森林
      圖層法在地理區(qū)域圖讀圖中的應用
      地理教學(2015年18期)2016-01-06 12:00:38
      淺析“遞層優(yōu)化法”在礦井制圖中的應用
      河南科技(2014年6期)2014-04-04 08:00:42
      Photoshop圖層的解讀
      班玛县| 偏关县| 灌云县| 淳化县| 增城市| 张家港市| 仁怀市| 谢通门县| 保德县| 修文县| 湖南省| 平顶山市| 越西县| 苏州市| 南乐县| 武宁县| 科技| 德江县| 宣汉县| 阿巴嘎旗| 沙河市| 丹东市| 延吉市| 亳州市| 孟村| 广昌县| 天祝| 姜堰市| 甘南县| 铜陵市| 兴仁县| 肇州县| 东宁县| 新绛县| SHOW| 伊吾县| 新乡市| 永清县| 扬州市| 双城市| 大化|