■劉小玲
(廣州市城市規(guī)劃勘測設(shè)計研究院廣東廣州510663)
DXF文件到SHP文件批量轉(zhuǎn)換研究
■劉小玲
(廣州市城市規(guī)劃勘測設(shè)計研究院廣東廣州510663)
本文在深入研究DXF文件與SHP文件格式及轉(zhuǎn)換方法的基礎(chǔ)上,以對輸電線路中鐵塔模型的數(shù)據(jù)格式轉(zhuǎn)換為例,提出利用CAD平臺對DXF數(shù)據(jù)進行批量分割,屬性判斷,信息重組,隨后應(yīng)用ArcToolbox工具箱將DXF數(shù)據(jù)批量轉(zhuǎn)換為SHP格式的方法。該研究大幅提升了數(shù)據(jù)轉(zhuǎn)換的工作效率。
三維GIS輸電線路管理系統(tǒng)數(shù)據(jù)轉(zhuǎn)換DXF
隨著我國經(jīng)濟建設(shè)的不斷發(fā)展,電力資源管理系統(tǒng)重要性與日俱增。將二維GIS技術(shù)應(yīng)用到輸電線路運行管理系統(tǒng)中,搭建輸電線路運行管理系統(tǒng)已經(jīng)在國內(nèi)外得到廣泛應(yīng)用[1]。然而二維地理信息系統(tǒng)的固有缺陷如不夠完善的可視化場景和人機交互機制,不全面的空間分析能力限制了其在輸電線路運行管理系統(tǒng)中進一步的發(fā)展。隨著三維GIS技術(shù)在大規(guī)模地形顯示、空間數(shù)據(jù)分析等方面的快速發(fā)展,將三維GIS技術(shù)引入輸電線路運行管理系統(tǒng)可有效提高整個系統(tǒng)的可視化和交互性功能,已逐漸成為發(fā)展趨勢。然而將大量不同類型的數(shù)據(jù)轉(zhuǎn)化為地理信息系統(tǒng)專用格式(SHP)是建立三維GIS輸電線路運行管理系統(tǒng)的亟需解決的關(guān)鍵問題之一。本文嘗試在對DXF文件與SHP文件的存儲方式及前人提出的轉(zhuǎn)換方法深入研究的基礎(chǔ)上,建立一套將DXF文件批量轉(zhuǎn)換為SHP文件的工作流程,提高數(shù)據(jù)轉(zhuǎn)換的工作效率。
2.1DXF與SHP數(shù)據(jù)的格式
DXF格式是用于AutoCAD與其他軟件之間進行數(shù)據(jù)交換的數(shù)據(jù)文件格式,采用ASCII格式存儲。完整的DXF文件由HEADER、CALSSES等七段構(gòu)成。①HEADER段:包含圖形的基本信息。如當(dāng)前CAD的版本,圖形范圍的坐標(biāo)等。在文件中的樣例為:組碼“0”、“SECTION”、組碼“2”、“HEADER”。②CALSSES段:主要定義應(yīng)用程序中類的相關(guān)信息。在文件中組碼“2”,后面接類名。③TABLES段:主要是關(guān)于符號表的定義,如塊參照表、圖層表、線型表等。④BLOCKS段:包含圖形中所有實體的塊參照定義以及關(guān)于模型空間和圖紙空間的塊定義。在文件的結(jié)構(gòu)為組碼“8”,后面為塊所在的圖層,組碼“2”后面接塊名。⑤ENTITIES段:完整記錄DXF文件中所有圖形對象的組碼。⑥OBJECTS段:主要記錄DXF文件中的非圖形對象的組碼。⑦THUMBNAILIMAGE段:包含圖形預(yù)覽數(shù)據(jù)。
2.2數(shù)據(jù)轉(zhuǎn)換中的問題
2.2.1要素丟失
DXF文件包含多種類型,如多面網(wǎng)格、三維多段線、塊參照。如果圖形實體數(shù)據(jù)結(jié)構(gòu)與轉(zhuǎn)換前后各層數(shù)據(jù)之間的對應(yīng)關(guān)系發(fā)生遺漏,或者有些圖形實體對應(yīng)錯誤,就會導(dǎo)致要素丟失。
2.2.2要素變形
不同文件對圖形實體的數(shù)據(jù)結(jié)構(gòu)的定義并不相同,如CAD中定義的塊參照,多面網(wǎng)格,在GIS中,只能變成點符號或者無法識別等。DXF中定義的塊參照只能轉(zhuǎn)換成SHP數(shù)據(jù)的點符號。
2.2.3數(shù)據(jù)冗余
圖層安排不合理,會造成數(shù)據(jù)冗余。比如母線和符號沒區(qū)分好,在轉(zhuǎn)換過程中,符號有可能被當(dāng)成母線轉(zhuǎn)換成SHP文件。
2.2.4屬性信息不夠
DXF文件中對象的屬性數(shù)據(jù)較少或沒有。造成轉(zhuǎn)換為SHP文件以后的屬性信息不足導(dǎo)致轉(zhuǎn)換后的SHP文件的查詢、分析功能減弱[2]。
2.3DXF與SHP文件轉(zhuǎn)換方法總結(jié)
DXF文件與SHP文件在數(shù)據(jù)存儲、圖元定義等方面的差別導(dǎo)致這兩格式之間的數(shù)據(jù)轉(zhuǎn)換存在大量問題[2]。目前數(shù)據(jù)轉(zhuǎn)換方法可分為兩類大,第一類是依靠商業(yè)軟件,如:①使用ArcViewGIS 3.x中的內(nèi)嵌集成工具;②使用ArcMap中的要素導(dǎo)出工具;③使用Arc-Catalog中的要素到要素類轉(zhuǎn)換;④使用ArcToolbox中的要素到要素類轉(zhuǎn)換;⑤使用MAPGIS轉(zhuǎn)換。這類方法易于使用,對于簡單數(shù)據(jù)類型有較好效果,但對于復(fù)雜的數(shù)據(jù)類型,如塊參照、多面網(wǎng)格等,無法正確轉(zhuǎn)換[3~4]。
第二類是從文件結(jié)構(gòu)出發(fā),編程讀取DXF數(shù)據(jù),按照SHP數(shù)據(jù)文件的結(jié)構(gòu)輸出。該類方法需要研究人員除了了解DXF中的ENTITIES段數(shù)據(jù)存儲方式以外,還需要對另外五段數(shù)據(jù)的存儲結(jié)構(gòu)進行深入研究[3~4]。
本文以對輸電線路中DXF格式的三維鐵塔模型進行數(shù)據(jù)格式轉(zhuǎn)換為例,提出一種新的DXF文件與SHP文件格式轉(zhuǎn)換方法。具體解決如下問題:(1)將SHP文件不能識別的數(shù)據(jù)類型塊參照和多面網(wǎng)格在不影響顯示效果的情況下進行處理;(2)實現(xiàn)單個鐵塔的信息與其他鐵塔數(shù)據(jù)的分離,并根據(jù)坐標(biāo)信息實現(xiàn)對單個鐵塔的批量加載;(3)對數(shù)據(jù)進行優(yōu)化,提高三維場景運行加載時的速度。
主要算法步驟包括:(1)將整個DXF文件讀入,將前四段以及結(jié)尾一段復(fù)制。(2)找到切入點ENTITIES段,判斷ENTITIES段中要素類型,并依次記錄這些要素類型的坐標(biāo)。(3)根據(jù)坐標(biāo)判斷這些要素類型是否屬于同一個鐵塔。將屬于同一個鐵塔的要素信息進行存儲。(4)最后將之前存儲的四段以及現(xiàn)在的鐵塔要素、結(jié)尾一段合并成只有一個鐵塔的完整DXF文件。
本文截取了33個鐵塔進行驗證。判斷屬性為同一鐵塔的條件是X與Y坐標(biāo)間距不超過80.0米。經(jīng)驗證,此方法可以在不損害鐵塔結(jié)構(gòu)的情況下,將整個DXF文件拆分為多個鐵塔單個輸出,優(yōu)化了鐵塔文件,減輕了三維場景加載模型的負擔(dān)。
本文以三維GIS輸電線路運行管理系統(tǒng)為出發(fā)點,深入研究了數(shù)據(jù)轉(zhuǎn)換的理論和DXF文件與SHP文件的存儲方式,詳細介紹了DXF數(shù)據(jù)轉(zhuǎn)換為SHP數(shù)據(jù)的技術(shù)路線,并對轉(zhuǎn)換結(jié)果進行了分析,有效提高了數(shù)據(jù)轉(zhuǎn)換效率。
[1]楊宇,吳田.基于GIS的輸電線路智能化運行與管理技術(shù) [J].中國科技縱橫,2010,24,93-94.
[2]孫曉莉,趙俊三.DXF文件到Shape文件無損轉(zhuǎn)換方法的研究 [J].科學(xué)技術(shù)與工程,2011,11(14),3336-3341.
[3]馮世蓉,唐慶良.由AutoCAD DXF文件到ArcGIS SHP文件數(shù)據(jù)轉(zhuǎn)換探析 [J].林業(yè)調(diào)查規(guī)劃,2011,36(2),8-11.
[4]路曉峰,姜剛.GIS與CAD數(shù)據(jù)轉(zhuǎn)換的方法探討 [J].測繪技術(shù)裝備,2006,4,20-22.
P2[文獻碼] B
1000-405X(2016)-8-360-1