1、以原有的基礎圖件進行數字化;
2、利用全站儀等設備進行全野外測量直接生產數 字化圖。
兩種方式所得的成果均為利于管理的制圖數據(大部份成果為AutoCAD的dwg格式),此類數據成果適用于制圖,簡單的分層管理及初級的GIS 數據。隨著當今GIS數據廣泛應用于各行各業,對GIS數據的分層要求、代碼要求更加細化,數據的嚴謹性進一步提高,行業的GIS數據也已得到了長足發 展。地形、地籍測量數據成果向GIS數據轉換已為GIS數據建庫及應用的前提,全國各地市、縣已逐步開展此項工作。
3人的軟件開發小組,選擇了某市的1:1000圖幅,共計40幅(面積為10平方公里)作為系統開發的測試數據。該測試區域地形、地貌要素具有一定的代表性,基本滿足測試要求。
前期準備
1、軟件開發目標:開發一套完整的系統,把原始的dwg數據歸劃至GIS系統要求的相應圖層,并賦予相應約定的屬性,最終通過數據接口,生成ArcInfo的coverage(或ArcView的shape)。
2、測區資料情況:測試測區為某市1:1000數字化地形圖,共計10平方公里40幅滿幅,原始圖層信息見附錄1(部份)。
3、作業依據:依自定《某測區地形數據向GIS數據轉換設計方案》(以下稱《方案》)見附錄2(部份)。
4、開發軟件平臺及版本:
- Visual LISP,AutoCAD map2000i
- AML,Arc/Info 8.0.3
技術路線
依據原始的dwg圖進行圖層、線型、插入的圖塊名及顏色進行統一,再利用開發的系統對dwg圖形數據進行統一計算機識別,無法識別的數據再進行人機交互 識別,識別完成后在CADmapi中進行面狀要素的拓撲構建,完成后利用開發的系統子功能輸出為文本E00格式,再在ARC/INFO中讀入E00格式, 再進行點線面要素的拓撲構建,最終成果整理為ARC/INFO的coverage格式,或ARCVIEW的shape格式。
技術實施步驟及開發思想
1、工藝流程圖
2、實施步驟及開發思想
(1) AutoCAD的環境設置
對于原始的Dwg數據,每一測區都有自定義的原始圖層信息和其他CAD要素信息(包括線型定義信息、塊名定義信息、顏色定義信息等)(見附錄1中某測區 部份原始信息),通過數據轉換要求生成《方案》中的圖層及代碼,并具有相應的屬性字段,因此要求在環境設置中對圖幅完成以下設置:
- 《方案》中所有地物類的圖層建立;
- 對象屬性數據結構設置;
- 原始Dwg數據的一些特定項檢查;
- 自動識別定義
- 交互識別定義
(2) Dwg數據接邊檢查、修改
通常GIS數據在空間拓撲關系和數據屬性的完整性兩方面尤為重要。在制圖的前期若不把接邊問題處理好,在今后的入庫工作中,單幅圖的數據入庫不會出現問 題,但在整個測區(或部份區域)入庫時就會出現地物的不完整,拓撲關系的錯誤或屬性不接的錯誤。因此,對于每幅圖的接邊數據均要求完全接邊,包括圖形接邊 及屬性接邊,且圖形的接邊點應落在內圖廓線上。
(3)系統對要素的自動識別
在AutoCAD平臺所采集的原始圖,一個測區范圍 內通常都采用同一制圖軟件平臺,但有時一個測區多個作業隊,所采用的軟件平臺、采集方法、作業水平都不盡相同。原理上,一個地物要素在采集時是加入了制圖 軟件中該地物的環境,如:該地物要素的類型、圖層、代碼、線型、塊名、顏色、寬度等。關于我系統對這些具有一定標準的地物要素可以完全識別,列舉如下幾個 地物要素的識別(表1):
地物要素名稱 類型 圖層名 線型或塊名 其它
加固陡坎 *LINE DXDM LC10422 不使用
不依比例尺單線圍墻 *LINE HOUSE1 LC443B 寬度0.3
一般高程點 INSERT,SHAPE GCD GCD 無
狹長灌木林 *LINE PLANT LC1132 無
在系統識別后原地物的顏色隨之改變,以便確認。
(4) 人機交互識別
原理上,若Dwg數據全部按AutoCAD制圖軟件平臺環境采集,在本系統的自動識別過程后絕大部份數據可以識別。但實際上,完全標準正確的Dwg數據是沒有,通常系統都有相當部份地物要素無法自動識別,主要原因如下:
- 圖層定義錯誤;
- 線型或塊名定義錯誤;
- 線符號或點符號被炸碎,已失去原有線型或塊和屬性;
- 采集不標準,以多段線為標準,但在采集過程中為求圖面效果而采用了圓、圓弧、二維多段線等不標準的線;
- 不可識別的要素,垃圾要素。
由于以上原因,本系統不能完全自動識別所有地物要素,因此只能進行人機交互識別。具體的人工交互識別開發思想如下:
把所有地物要素以《1:500地形圖圖式》為標準,分為控制點類、居民地類、工礦建筑類、交通類、管線類、水系類、境界類、地質地貌類、植被類、地圖整 飾類等十大類,含蓋了《圖式》中所有要素,每個大類再細分為點要素,線要素,注記要素,其他輔助功能等。針對某一需要人工 識別的要素,經人工識別后,在系統菜單中選擇相應的地物類,得到該地物類中滿足屬性(點、線、注記)要求的所有要素的菜單,最后通過選擇相應代碼,使該地物要素達到識別要求,由系統賦上相應的屬性。
通常需要人工交互式識別的內容主要包括如下幾方面:
- 系統未能自動識別的地物要素;
- 面狀要素的識別;
- 等高線的識別及高程賦值;
- 道路及橋梁的中心線生成;
- 不可識別地物及圖形垃圾數據的處理。
通過以上識別處理,再加以檢查,Dwg原始數據均可按《方案》要求進行屬性轉換。
(5) 面要素拓撲構建
面要素一般包括了,居民房屋、面狀水域(如:雙線河流、水塘、水庫等)、城鎮綠地、境界面(如:市界面、鎮界面、村界面),針對各行業對GIS數據的要求,可以自由定義一些專業的面要素的內容。對于面要素的構建,主要應處理好兩個方面的內容:面要素的邊界和質心。
- 面要素的邊界,
- 面要素的質心,
本系統開發平臺為AutoCAD map 2000i,并提供了構建拓撲的功能,通過菜單可以對上面要素完成構面。具體實施步驟:
- 利用原采集的原始數據生成面要素邊界,如有缺數據(如其他地物隔斷)可加入面要素邊界輔助線;
- 根據原圖注記內容,由系統自動加入面要素質心(標識點),如無注記則人工加入,同時錄入相關屬性值,如:河流名稱、湖泊名稱等;
- 面要素圖面清理,包括刪除毛刺、重復對象,延伸未及點,溶解偽節點,捕捉聚合節點等;
- 由系統完成構面前的檢查, 包括面要素是否完全閉合,是否有質心或是否有多余質心,面要素邊界屬性與該內部質心屬性是否一致;
- 修改以上檢查錯誤,最終構建面拓撲。
(6) 數據的全面檢查
數據在輸出前,必須對其進行一次全面的檢查,檢查主要包括以下內容:
- 原始數據轉換的完全情況,檢查是否有未處理的數據;
- 轉換后數據的完整性檢查,包括數據的圖層、代碼、屬性表及某些特殊要素的特殊屬性等;
- 面要素的拓撲檢查;
(7)元數據的制作
通過圖廓信息,人機交互式選擇錄入生成mdb文件。
(8) 轉換后數據輸出文本E00格式
通過認真解讀E00文本格式,用Visual LISP編寫系統輸出模塊,對轉換后的CAD數據直接輸出至文本E00格式。
(9)在ARC/INFO中重新構建點線面拓撲關系
在AutoCAD map 2000i中,為了完整表示拓撲關系,在沒有LABEL點的封閉范圍內加入空的LABEL點,在輸出時再把空的LABEL點剔除,所以在所輸出的E00文 件中,圖形的拓撲關系是不嚴謹的,系統通過把E00轉換為coverage,在ARC/INFO中重新構建點線面拓撲關系。
(10) 數據成果整理,提交入庫
可根據《方案》要求,對數據成果進行分區、歸類整理,最終提交入庫。
主要技術問題及處理方案
1、構面的處理問題
對于GIS數據,拓撲關系是一關鍵問題。尤其是面狀要素,在數據轉換過程中,如果出現拓撲錯誤,將直接導致數據將無法入庫。為此我們選擇的是 AutoCAD Map 2000i軟件平臺進行面狀要素的拓撲構建,通過在以上2.5項中所述步驟,可完成面狀要素的拓撲構建。在此特別強調的是,面狀要素的拓撲構建最關鍵的是 面狀要素邊界生成和質心生成。
- 面狀邊界的生成是系統通過該要素的圖層和代碼識別,選擇該要素的線特征邊界,如果該面狀要素有人工加入的輔助線,同時也選擇該輔助線,然后系統把它們合并,再復制(輔助線不用再復制)出一個完整的面狀要素,同時賦值相應的圖層、代碼及屬性。
- 質心的生成,主要是通過原圖注記內容自動生成,如無注記則人工判讀再在面內加入質心,同時錄入相關屬性值,如:河流名稱、湖泊名稱等。
- 對于面狀要素中存在“島”的現象,在“島”中加入“空”字做為“島”的質心。
2、非標準圖形要素的處理問題
(1)錯誤圖層、錯誤環境設置的圖形要素。
- 作為原始采集圖,尤其是純制圖數據的采集圖,圖層或圖形環境的錯誤是不可避免的。對于這些圖形要素,系統是無法自動識別的,解決的方法主要有兩個:
- 把錯誤的圖層人工改正,再由系統自動識別;
- 利用系統功能的屬性刷功能,實現屬性復制。用系統已識別的正確的圖形要素屬性復制另一同類地物(未識別)。 該屬性刷是本系統獨立開發,為完全的屬性復制,包括圖層、代碼、顏色及屬性字段和字段值。所以在有不同屬性字段值的同類地物使用該屬性刷時,應注意同時更 改該字段值,如:高程點之間的屬性復制,應修改相應的高程字段值中的高程值。
(2)非標準的線型、符號塊的圖形要素。
所謂標準線 型、符號塊就是原圖在采集時完全利用采集軟件平臺所定義的線型、塊名。但部份原始采集圖的圖形要素或被炸碎,或是用多段線直接描繪符號,或是其他符號組合 另一線型或另一符號等,總之非標準的線型、符號塊五花八門、千奇百怪,如用直線組成的陡坎、斜坡,小圓圈組成的地類界,被炸碎的植被符號等。
對于這些問題的處理,本系統都開發了一些小功能,從而把這些圖形要素標準化。這些小功能如下:
- 標準符號圖塊的插入;
- 小短線和小圓圈組成的“線”連為標準線型;
- CAD圓或多維線轉換為多段線;
- 特定圖形要素的快速查詢。
這些小功能基本上可以解決了非標準的線型、符號塊向標準化的轉換,但都是需要人工干預,通過菜單式的人機交互完成轉換。
3、橋梁、道路中心線的制作
對于一個測區道路應該是成網的,在本系統中,道路中心線的制作就是通過把測區整個道路網拼為一整塊(測區太大可分為若干塊),然后在此基礎上制作道路中心線,具體作法如下:
在原始采集圖中提取道路要素,拼為一整塊路網圖;
- 在該路網圖中,人工選擇需要制作中心線的雙線道路(一般等級在雙線大車路以上的都要制作道路中心線);
- 利用菜單提供的功能,從雙線道路和一邊復制一條線至中心位置,賦上相應的屬性及屬性值,包括道路名稱、等級、寬度等屬性值;
- 生成路網圖內所有道路的中心線后,再把以分幅圖單位的道路中心線,利用生成圖塊和插入圖塊的CAD功能,實現中心線轉移至作業分幅圖中,該測區作業分幅圖的道路中心線均可在已完成的路網圖中提取,至此作業分幅的道路中心線制作完成。
4、等高線處理模塊開發
等高線是地形圖的主要內容之一,幾乎涉及所有圖幅,所以等高線的處理也是本系統開發的一項重點工作。對于大部分原始采集圖,等高線的采集都是不帶高程屬 性值的,所以如何方便的錄入高程值是這一模塊的重點,具體思路是:利用等高線的特性,首先對整幅圖的等高線進行圖面清理(包括刪除重復的等高線、連接小于 指定距離的等高線等),再由人工賦值幾條相鄰的等高線,輸入等高距(也可自由推算得到),選擇某種賦值方式,包括遞增方式(+1)、遞減方式(-2)、等 值方式(=3)、自由推算方式(.4),對所有的等高線賦值后,最后對示坡線及未處理等高線進行查詢處理,在對等高線賦值處理時,也把計 曲線、首曲線區分,并賦予相應的圖層、代碼等屬性。
等高線賦值菜單:
- 對等高線的處理,同時也要有相應檢查方法,本系統中對等高線錄入的控制方法主要以下幾種:
- 圖層控制,此是防止其他圖層要素的錯誤錄入;
- 線寬控制,此是主要控制計曲線與首曲線的錯誤錄入,同時也作為控制高程值賦值時的檢查手段;
- 等高距控制,在遇計曲線時用等高距的固定倍數進行控制。
- 遺漏的未處理等高線查詢、錄入。
5、圖形要素轉換錄入檢查控制
在人機交互式轉換過程中人為因素較多,可能會出現選擇錯誤。對此本系統通過對圖形要素的一些控制而避免人為的選擇錯誤,控制內容為:圖層控制、線型控 制、寬度控制。通過這些控制,如當前設定轉換錄入的是“地形地貌”圖層,但人工卻選擇了其他圖層的內容,系統將自動過濾所選要素,從而控制人工選擇錯誤。 同時也可以通過設置取消這些控制,也就是說,當出現原圖錯誤、非標準線型時,也可以通過改變設置后強制轉換。
系統通用性的一些思考
在系統開發時,所用的數據要求進行一些針對性的調整,使得系統不夠通用。為使系統的通用性能進一步提高,相應地采用以下技術:
- 系統識別定義模塊化。取消識別定義手工錄入方式,解決方案是開發識別表達式生成工具,以直觀易懂的方式進行識別定義。
- 擴充針對性調整功能,并開發針對性調整模塊。原來的方案要求對復雜線型進行打散,本系統就開發了相應的模塊,但相當的打散識別和打散要求還是集成在程序內部。解決方案:把識別要求加入到識別定義中,再定義相關的打散方法。
- 系統菜單,目錄采用依照地物進行分類。應在定義識別模塊時對菜單進行調整。
結束語
AutoCAD作為當今最普及,最成熟的軟件,在制圖方面是絕無問題的。但要希望通過簡單的數據轉換就能完全滿足GIS的建庫要求,是很困難的。這是由CAD在應用上的廣泛性所決定的,各種形體、各種標準對制圖可能毫無影響,但對數據內在的屬性是有很大的區別。
這次系統的開發,我們主要也是運用了CAD的開發功能,充分利用了Visual LISP強大的開發功能。但在開發的界面上、各種CAD問題的處理小功能上我們仍需要進一步完善,對不同測區的系統通用性上也應進一步加強。