• 
    

    
    

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

      基于ArcEngine的CAD數(shù)據(jù)與ArcGIS數(shù)據(jù)互轉(zhuǎn)

      2014-07-25 11:29:01任學(xué)申張?jiān)孪?/span>
      鐵道勘察 2014年5期
      關(guān)鍵詞:圖層代碼編碼

      任學(xué)申 張?jiān)孪?/p>

      (山東正元地球物理信息技術(shù)有限公司,山東濟(jì)南 250101)

      基于ArcEngine的CAD數(shù)據(jù)與ArcGIS數(shù)據(jù)互轉(zhuǎn)

      任學(xué)申 張?jiān)孪?/p>

      (山東正元地球物理信息技術(shù)有限公司,山東濟(jì)南 250101)

      AutoCAD和ArcGIS兩種軟件在數(shù)據(jù)處理上各有其優(yōu)點(diǎn),為了充分利用這兩種軟件的數(shù)據(jù),降低數(shù)據(jù)采集的費(fèi)用,實(shí)現(xiàn)數(shù)據(jù)共享,以標(biāo)準(zhǔn)CASS的基礎(chǔ)地形圖為例,對(duì)AutoCAD數(shù)據(jù)與ArcGIS數(shù)據(jù)的無(wú)缺失相互轉(zhuǎn)換進(jìn)行探討。

      ArcEngine CASS ArcGIS 相互轉(zhuǎn)換

      ArcGIS有強(qiáng)大的數(shù)據(jù)分析、數(shù)據(jù)管理等功能,在建立空間數(shù)據(jù)庫(kù)方面有其得天獨(dú)厚的優(yōu)勢(shì),但ArcGIS也具有圖層疊加不便、屏幕刷新緩慢、繪圖功能不足等缺點(diǎn)。AutoCAD具有強(qiáng)大的繪圖功能和處理矢量圖形的能力,大部分地形圖采用了AutoCAD為制圖平臺(tái),不過(guò),其處理數(shù)據(jù)間的拓?fù)潢P(guān)系較為簡(jiǎn)單,處理對(duì)象屬性方面及空間分析功能欠缺。因此,為了使ArcGIS和AutoCAD軟件平臺(tái)發(fā)揮其最大的優(yōu)點(diǎn),進(jìn)行CAD數(shù)據(jù)與GIS數(shù)據(jù)相互轉(zhuǎn)換方法的研究具有重要現(xiàn)實(shí)意義。

      AutoCAD數(shù)據(jù)和ArcGIS數(shù)據(jù)在數(shù)據(jù)模型方面存在很大差異,兩種軟件描述數(shù)據(jù)的方式不同。傳統(tǒng)的數(shù)據(jù)轉(zhuǎn)換方法只考慮如何把AutoCAD數(shù)據(jù)轉(zhuǎn)換為ArcGIS數(shù)據(jù),而沒(méi)有考慮在轉(zhuǎn)換之后的ArcGIS數(shù)據(jù)如何再轉(zhuǎn)為CAD數(shù)據(jù),使轉(zhuǎn)換之后的CAD數(shù)據(jù)與原始CAD數(shù)據(jù)圖形屬性無(wú)丟失。本文探討標(biāo)準(zhǔn)CASS的基礎(chǔ)地形圖與 GIS數(shù)據(jù)相互轉(zhuǎn)換的邏輯組織及解決方案。

      1 CAD與ArcGIS數(shù)據(jù)格式的差異

      1.1 CAD數(shù)據(jù)格式

      在AutoCAD數(shù)據(jù)中,包含了多種類型的圖形對(duì)象,包括:點(diǎn)、線段、折線、文字等,其中點(diǎn)、線為基本元素,其他的是由基本元素組合形成的復(fù)雜元素,這些元素都是矢量形式的,即由一組或多組X、Y、Z坐標(biāo)確定圖形元素的幾何位置和形狀。在CAD的一個(gè)圖層上可以存放多種類型的圖形對(duì)象,而且每個(gè)圖形對(duì)象都可以設(shè)置獨(dú)有的顏色、線形、樣式等。

      DXF 是Autodesk公司開(kāi)發(fā)的用于AutoCAD與其他軟件之間進(jìn)行CAD數(shù)據(jù)交換的CAD數(shù)據(jù)文件格式。DXF是一種開(kāi)放的矢量數(shù)據(jù)格式,可以分為兩類:ASCII格式和二進(jìn)制格式;ASCII可讀性好,但占有空間較大;二進(jìn)制格式占有空間小、讀取速度快。DXF在表現(xiàn)圖形的大小方面十分精確,包含了AutoCAD圖形文件的所有信息。

      1.2 ArcGIS數(shù)據(jù)格式

      Geodatabase是一種采用標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫(kù)技術(shù)來(lái)表現(xiàn)地理信息的數(shù)據(jù)模型。目前有兩種Geodatabase結(jié)構(gòu):Personal Geodatabase和Multiuser Geodatabase。Personal Geodatabase更像基于文件的工作空間,使用微軟的Access數(shù)據(jù)庫(kù)同時(shí)存儲(chǔ)空間數(shù)據(jù)和屬性數(shù)據(jù),數(shù)據(jù)庫(kù)存儲(chǔ)量大小可伸縮,最大為2GB。Personal Geodatabase支持單用戶編輯,不支持版本管理。

      2 CAD與GIS數(shù)據(jù)之間對(duì)應(yīng)關(guān)系

      2.1 圖層對(duì)應(yīng)關(guān)系

      在CAD中,不同的地理要素放在不同的圖層,比如水系、居民地、植被等,相同地理要素的注記、點(diǎn)、線、塊都是放在同一圖層,即一個(gè)圖層里可以放置擁有相同性質(zhì)的若干元素,如一幅地形圖中的水系可以放在同一層中,居民地又可以放在另一層中。ArcGIS圖層由點(diǎn)、線、面、注記四種類型的數(shù)據(jù)組成,且每一個(gè)圖層里面只能存放一種類型的數(shù)據(jù),如點(diǎn)圖層只能存放點(diǎn)數(shù)據(jù),線圖層只能存放線數(shù)據(jù)。

      根據(jù)CASS標(biāo)準(zhǔn)圖層及基礎(chǔ)地理信息要素分類及代碼(GB/T 13923-2006)對(duì)數(shù)據(jù)進(jìn)行分類,共分為8大類,然后根據(jù)點(diǎn)、線、面、注記每類數(shù)據(jù)的要求,分為若干個(gè)不同類型的層,如表1所示。

      表1 CASS圖層與ArcGIS圖層對(duì)應(yīng)

      2.2 要素對(duì)應(yīng)關(guān)系

      AutoCAD數(shù)據(jù)與ArcGIS數(shù)據(jù)在要素結(jié)構(gòu)上有所不同,但兩個(gè)系統(tǒng)對(duì)要素的表達(dá)方式基本相同,即都是點(diǎn)、線、注記及其組合。

      AutoCAD 和 ArcGIS之間的數(shù)據(jù)轉(zhuǎn)換可以轉(zhuǎn)化為要素之間的對(duì)應(yīng)轉(zhuǎn)換,其轉(zhuǎn)換關(guān)系如表2所示。

      表2 AutoCAD要素與ArcGIS要素對(duì)應(yīng)關(guān)系

      2.3 結(jié)構(gòu)對(duì)應(yīng)關(guān)系

      表3 GIS數(shù)據(jù)結(jié)構(gòu)

      在標(biāo)準(zhǔn)CASS數(shù)據(jù)轉(zhuǎn)換為ArcGIS數(shù)據(jù)時(shí),需要記錄標(biāo)準(zhǔn)CASS數(shù)據(jù)的屬性信息,以便在ArcGIS轉(zhuǎn)換為標(biāo)準(zhǔn)CASS數(shù)據(jù)時(shí)使用,其ArcGIS數(shù)據(jù)結(jié)構(gòu)如表3所示。

      2.4 編碼對(duì)應(yīng)關(guān)系

      GIS要素的分類編碼結(jié)構(gòu),在大類、中類、小類和子類的基礎(chǔ)上添加幾何特征碼及圖形特征碼,用以描述要素對(duì)象的幾何特征和圖形特征。

      GIS要素大類、中類、小類的分類代碼采用基礎(chǔ)地理信息要素分類及代碼(GB/T 13923—2006)中規(guī)定的分類代碼;要素子類的分類代碼統(tǒng)一采用9位十進(jìn)制數(shù)字碼,分別為按數(shù)字順序排列的大類碼、中類碼、小類碼、子類碼、幾何特征碼和圖形特征碼,具體代碼結(jié)構(gòu)見(jiàn)圖1。

      圖1 要素代碼結(jié)構(gòu)

      根據(jù)標(biāo)準(zhǔn)CASS數(shù)據(jù)的圖形、代碼描述和國(guó)家基本比例尺地圖圖式,建立兩系統(tǒng)的對(duì)照,如表4所示。

      表4 標(biāo)準(zhǔn)CASS編碼與GIS編碼對(duì)應(yīng)關(guān)系

      建立編碼對(duì)應(yīng)關(guān)系是為了在對(duì)ArcGIS符號(hào)化時(shí),與AutoCAD數(shù)據(jù)保持一致,也是為了符合基礎(chǔ)地理信息要素的建庫(kù)標(biāo)準(zhǔn)。

      3 數(shù)據(jù)轉(zhuǎn)換

      3.1 AutoCAD轉(zhuǎn)ArcGIS

      (1)轉(zhuǎn)換之前預(yù)處理

      當(dāng)轉(zhuǎn)換后的DXF中存在注記時(shí),系統(tǒng)很有可能讀取到的內(nèi)容是亂碼,因此需要轉(zhuǎn)換前把DXF文件使用記事本打開(kāi),然后使用UTF-8編碼另存為一份DXF文件,另存的DXF文件,可能使用AutoCAD打不開(kāi),因?yàn)橛浭卤景袲XF的文件頭破壞掉了,但不影響轉(zhuǎn)換,轉(zhuǎn)換之前標(biāo)準(zhǔn)CASS數(shù)據(jù)如圖2所示。

      圖2 標(biāo)準(zhǔn)CASS數(shù)據(jù)

      (2)轉(zhuǎn)換方法及實(shí)現(xiàn)

      目前國(guó)內(nèi)外實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的方式大致有四種:外部數(shù)據(jù)交換模式、直接數(shù)據(jù)訪問(wèn)模式、空間數(shù)據(jù)互操作模式、數(shù)據(jù)轉(zhuǎn)換平臺(tái),本文采用第一種方法,即外部數(shù)據(jù)交換模式。首先把CASS的CAD數(shù)據(jù)轉(zhuǎn)換為DXF格式的數(shù)據(jù),使用程序讀取DXF文件中的明碼,逐個(gè)分析,然后使用基于ArcEngine中的接口創(chuàng)建數(shù)據(jù)庫(kù)、圖層、要素等,逐個(gè)把實(shí)體記錄下來(lái)。關(guān)鍵代碼如下:

      #region按類型讀取

      switch (sValue)

      {

      case "MTEXT":

      sFtType="注記";

      VbContinue=ReadDXFMText(i, iEdSec, ref tPntInfoArr, ref sFldVal, ref Anno, ref Height, ref Angle, ref iFAliType);

      bContinue=CreateMText(sLyrName, tPntInfoArr, sFldVal, Anno, Height, Angle, iFAliType);

      break;

      case "TEXT":

      sFtType="注記";

      bContinue=ReadDXFText(i, iEdSec, ref tPntInfoArr, ref sFldVal, ref Anno, ref Height, ref Angle, ref iHAliType, ref iVAliType);

      bContinue=CreateText(sLyrName, tPntInfoArr, sFldVal, Anno, Height, Angle, iHAliType, iVAliType);

      break;

      case "POINT":

      case "INSERT":

      sFtType="點(diǎn)";

      bContinue=ReadDXFPoint(i, iEdSec, ref tPntInfoArr, ref sFldVal);

      bContinue=CreateGeoFeature(sLyrName, sFtType, i, iClose, tPntInfoArr, sFldVal);

      break;

      ……

      }

      #endregion

      轉(zhuǎn)換之后的ArcGIS數(shù)據(jù)如圖3所示。

      圖3 轉(zhuǎn)換后的ArcGIS數(shù)據(jù)

      3.2 ArcGIS轉(zhuǎn)AutoCAD

      ArcGIS數(shù)據(jù)轉(zhuǎn)換為AutoCAD數(shù)據(jù),需要注意的是轉(zhuǎn)換后的AutoCAD文件中,數(shù)據(jù)的位置、顏色、樣式、屬性等信息,需同原始CAD中數(shù)據(jù)相一致。

      while (pFeature !=null)

      {

      string EntityType=GetFiledValue(clsFieldSysName.EntityType);

      switch (EntityType)

      {

      case "MTEXT":

      case "TEXT":

      WriteTextEnt(pFeature.ShapeCopy as IPoint, sCADLayer, GetFiledValue(clsFieldSysName.FontText), GetFiledValue(clsFieldSysName.FontX), GetFiledValue(clsFieldSysName.FontY), GetFiledValue(clsFieldSysName.FontZ), GetFiledValue(clsFieldSysName.H), GetFiledValue(clsFieldSysName.FontName), GetFiledValue(clsFieldSysName.FontCenter), GetFiledValue(clsFieldSysName.FontHor), GetFiledValue(clsFieldSysName.FontVer), GetFiledValue(clsFieldSysName.FontHight), GetFiledValue(clsFieldSysName.FontWidth), GetFiledValue(clsFieldSysName.EntityColor), GetFiledValue(clsFieldSysName.CADAngle));

      break;

      case "POINT":

      case "INSERT":

      WritePointEnt(pFeature.ShapeCopy as IPoint, sCADLayer, GetFiledValue(clsFieldSysName.BlockName), GetFiledValue(clsFieldSysName.CASSCode), GetFiledValue(clsFieldSysName.PointXScale), GetFiledValue(clsFieldSysName.PointYScale), GetFiledValue(clsFieldSysName.PointZScale), GetFiledValue(clsFieldSysName.CADAngle), GetFiledValue(clsFieldSysName.H), GetFiledValue(clsFieldSysName.EntityColor), GetFiledValue(clsFieldSysName.AttHave));

      break;

      ……

      }

      pFeature=pCursor.NextFeature();

      }

      轉(zhuǎn)換后的AutoCAD數(shù)據(jù)如圖4所示。

      圖4 轉(zhuǎn)換后的AutoCAD數(shù)據(jù)

      4 結(jié)論

      (1)標(biāo)準(zhǔn)CASS的基礎(chǔ)地形圖與 GIS數(shù)據(jù)相互轉(zhuǎn)換,前提是GIS數(shù)據(jù)來(lái)源于CAD數(shù)據(jù),或者具有CAD數(shù)據(jù)的一些圖形信息。

      (2)標(biāo)準(zhǔn)CASS的基礎(chǔ)地形圖轉(zhuǎn)換為GIS數(shù)據(jù),需要使用CAD的中間格式DXF,且DXF文件的編碼格式要明確。

      (3)標(biāo)準(zhǔn)CASS數(shù)據(jù)的編碼需要與基礎(chǔ)地理信息要素代碼對(duì)應(yīng),以便對(duì)GIS數(shù)據(jù)符號(hào)化。

      (4)GIS數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)CASS數(shù)據(jù)需要DXF模板中存在較全的塊名、線形及字體。

      (5)實(shí)現(xiàn)標(biāo)準(zhǔn)CASS數(shù)據(jù)到GIS數(shù)據(jù),再到標(biāo)準(zhǔn)CASS數(shù)據(jù)無(wú)信息丟失的轉(zhuǎn)換,不但實(shí)現(xiàn)了兩種數(shù)據(jù)的共享,也降低了數(shù)據(jù)采集的費(fèi)用,加大了數(shù)據(jù)的利用率。

      [1] 郭敏,劉長(zhǎng)星.AutoCAD向GIS數(shù)據(jù)轉(zhuǎn)換方法的研究[D].西安:西安科技大學(xué)測(cè)繪學(xué)院,2009

      [2] 黨安榮,賈海峰,易善楨,等.ArcGIS8 Desktop地理信息系統(tǒng)應(yīng)用指南[M].北京:清華大學(xué)出版社,2005

      [3] 杜輝.基于FME的ARCGIS與AUTOCAD空間數(shù)據(jù)交換[J].鐵道勘察,2012(3)

      [4] 劉永強(qiáng).AutoCAD與ArcGIS數(shù)據(jù)轉(zhuǎn)換方法研究[J].測(cè)繪科學(xué),2009(S2)

      [5] 鄂潔,陳婕.AutoCAD和ArcGIS間的數(shù)據(jù)轉(zhuǎn)換研究[J].軟件導(dǎo)刊,2007(17)

      [6] 林曉清,楊素鳳.COVERAGE格式數(shù)據(jù)和AOTUCAD格式數(shù)據(jù)間的轉(zhuǎn)換[J].鐵道勘察,2011(3)

      [7] 陳樂(lè)書(shū),劉連勝,王長(zhǎng)委.CAD到GIS數(shù)據(jù)格式轉(zhuǎn)換的探討[J].安徽農(nóng)業(yè)科學(xué),2009(18)

      [8] 曹?chē)?guó)云,張偉.AutoCAD數(shù)據(jù)到GIS空間數(shù)據(jù)轉(zhuǎn)換技術(shù)和方法的研究[J].安徽農(nóng)業(yè)科學(xué),2006(22)

      [9] 肖鳴.CAD數(shù)據(jù)向GIS空間數(shù)據(jù)庫(kù)轉(zhuǎn)換方法的實(shí)現(xiàn)[J].測(cè)繪信息與工程,2007(3)

      InterconversionofCADdataandGISdatabasedonArcEngine

      REN Xue-shen ZHANG Yue-xiang

      2014-07-10

      任學(xué)申(1983—),男,2010年畢業(yè)于江西理工大學(xué)地理信息系統(tǒng)專業(yè),碩士,工程師。

      1672-7479(2014)05-0008-04

      P208

      : A

      猜你喜歡
      圖層代碼編碼
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      《全元詩(shī)》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      Genome and healthcare
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      巧用混合圖層 制作抽象動(dòng)感森林
      圖層法在地理區(qū)域圖讀圖中的應(yīng)用
      涟水县| 关岭| 化州市| 吴旗县| 长海县| 周宁县| 浮山县| 太白县| 定安县| 台江县| 长汀县| 崇文区| 古丈县| 乌拉特中旗| 井陉县| 高要市| 进贤县| 腾冲县| 吉林市| 岑巩县| 科尔| 讷河市| 保康县| 万州区| 西城区| 普宁市| 鄄城县| 高要市| 丰都县| 海晏县| 栾城县| 桂阳县| 连州市| 普安县| 客服| 玉山县| 南阳市| 万安县| 侯马市| 长治县| 黔东|