胡開全,張燕
(重慶市勘測院,重慶 400020)
隨著地理信息技術和數字地圖的應用越來越深入、廣泛,迫切需要數字地圖直接為地理信息系統提供基礎空間數據,滿足空間數據建庫的要求。而數字地圖軟件由于側重點不同,大多不能完全解決生產中制圖效果與GIS數據的沖突問題。部分軟件滿足了地圖圖式要求,有較好的成圖表達效果,但是忽略了空間數據的生產和利用,沒有考慮到數字地圖的進一步利用和向GIS數據的轉換;而一些國外的軟件如ArcGIS具有強大的地理屬性管理能力,但是其重心不是地圖生產,而是空間數據的分析應用,地圖制圖能力相對較弱。
系統平臺基于美國BENTLEY SYSTEM公司的Microstation V8軟件進行開發。該平臺較多地應用在測繪、建筑、交通、電訊和市政等設計領域,是行業管理解決方案的基礎平臺。平臺不僅有強大的繪圖和設計功能,靈活的操作界面,同時還提供了各種界面定制和二次開發手段。而且還一個平臺支持多種文件格式,可以直接對DGN和DWG文件進行編輯處理。
Microstation V8二次開發,選擇Virsual C++6.0,結合Microstation MDL,可方便地調用所有操作系統級的功能,如COM、ADO、ActiveX等;利用MDL運行于Microstation內部的特點,實現與Microstation系統進行通信相關的功能,對于復雜的計算量大的程序,在性能上會有較大的提升;利用Visual Studio提供的直觀而強大的調試程序功能對程序進行調試。
Microstation具有強大的符號制作功能,可以靈活方便地自定義各種單元、線型,支持面域填充,提供了用戶建立符號庫的工具,滿足繪制地圖上點狀、線狀、面狀符號的要求。但由于其更傾向于繪圖功能,并不能完全滿足數據建庫的要求。
利用其符號化定義功能,可以解決一部分要素既滿足制圖效果又滿足GIS數據要求。對于不能滿足GIS數據要求的其他要素,采用“骨架線+構造數據”的方式,由程序控制兩種數據同步繪制和實現一體化管理。
以繪制依比例公路橋為例:

(1)對于線狀要素的符號化,通過V8的線型庫預定義來實現。線狀符號可以通過自定義線型來設計繪制。線型的定義通過線型編輯器來完成,它的用戶自定義線型功能很強,用戶可以控制線型中點劃線和間隔的長度、實現自動符號放置、進行線的偏移、線寬度和顏色設置等。這樣,幾乎可以設計出需要的任何線型,使得用一個單獨的元素就可以表達一個復雜的地圖線狀符號,有利于線狀符號的繪制、編輯和提取。自定義的線型存放在線型庫文件中。在全要素配置庫里,為線狀要素設置‘線型名’屬性,在繪制要素的時候,賦予此屬性即可實現自動符號化效果。
(2)對于不依比例的單元符號,通過V8的單元庫預定義來實現。Microstation中主要使用的是圖形單元和點單元這兩種類型。圖形單元具有層獨立性,即放置單元時,單元的組成元素所在的層是由設計制作單元時單元所在的層決定的。放置后單元的組成元素的屬性與產生單元時元素屬性相同,這種類型的單元在旋轉視圖時會跟著一起旋轉。點單元放置時,單元的屬性采用當前激活的屬性(圖層、顏色、線型、線寬),單元不隨視圖一起旋轉。在全要素配置庫里,每種要素都有自己指定的圖層、顏色、線寬等屬性,所以在制作單元庫時,統一使用點單元的方式。在配置庫里給要素指定單元名稱的屬性,并在繪制時調用,為單元指定該要素對應的層,色等基本屬性。
(3)對于一點定位一點定向的符號,通過程序利用骨架線+符號要素的方式,對符號庫的要素進行旋轉繪制。在配置庫里給要素指定單元名稱的屬性,并在繪制時調用該單元符號,鎖定原始比例,根據兩點構成的骨架線來確定該單元符號的旋轉角度。
(4)對于一點定位一點定尺寸的符號,通過程序利用骨架線+符號要素的方式,對符號庫的要素進行旋轉和縮放繪制。在配置庫里給要素指定單元名稱的屬性,并在繪制時調用該單元符號,根據兩點構成的骨架線來確定該單元符號的旋轉角度以及符號放大或縮小的尺寸。比如依比例的液體、氣體儲存設備的符號,如果符號定位點在中心的話,那么骨架線的長度就是繪制成圖后設備符號的半徑。
(5)對于面狀,且有面中心注記的要素,通過編程,以面為骨架線+注記為構造要素的方式繪制。在配置庫里給要素指定該要素自帶注記的字體、字寬、字高等屬性,采集該類要素時,采集界面會提示輸入注記內容,可以選擇輸入或空內容。繪制成的文本注記將和面具有同樣的層、色等屬性,并且依附于面存在。
(6)對于面狀,且面內有單個符號的要素,通過編程,以面為骨架線、符號為構造要素的方式繪制。在配置庫里給要素指定單元符號名稱,當該類要素的面邊界采集結束后,會自動將指定的單元符號放置到面心的位置,該單元依附于面存在,但可以自由拖動。
(7)對于面狀,且面內有多個符號填充的要素,通過編程,以面為骨架線、填充符號為構造要素的方式繪制。在配置庫里給要素指定單元符號名稱、填充行間距、列間距,當該類要素的面邊界采集結束后,符號化模塊會自動用指定的單元符號填充面,填充后的所有單元符號都依附于面存在,但可以各自自由拖動或者刪除。
(8)對于四點定位或多點定位的面或閉合線要素,如人行橋、地下出入口等,對要素的符號化進行統一的編碼,通過程序識別,進行構造數據的繪制,而以邊界線為骨架數據。對于此類要素,在全要素配置庫里定義了專門的符號編碼表,在表中對自定義符號化方案利用解析語言進行表述。在要素屬性表里有調用的ID號,由符號化模塊進行分析繪制,實現拖動骨架線,要素自動重新繪制。
(9)對于一些相對復雜的特例要素,如依比例斜坡陡崖、臺階等。也是利用骨架線+構造數據的方式繪制。在配置庫里定義了繪制參數,比如斜坡齒線間距,臺階間距等,在程序中定制繪制功能函數號調用。
根據壓蓋優先級的配置,自動處理對各類要素的壓蓋與被壓蓋關系,實現壓蓋中數據無損裁切;支持要素在圖邊的裁切,既保證制圖效果,又保證數據的完整性;以配置數據庫方式實現要素屬性和擴展屬性的管理,修改要素屬性,要素自動將改動反映到圖形表示上,實現圖形與屬性一致性。通過以上多項智能處理輔助技術,以更完美地實現制圖效果與GIS數據要求的統一。
融合GIS數據的空間特征與CAD數據的形態特征,要素的圖形表示自動跟隨屬性而變化,實現圖形和屬性一體化,保證了要素的完整性和GIS建庫要求。解決了需要生產兩套數據分別滿足制圖效果和GIS數據要求的難題,實現了“一套數據、兩種用途”,為信息化測繪提供了良好的基礎和支持。
[1]趙偉,張翔宇.MicroStation V8中文版實用手冊[M].北京:清華大學出版社,2002
[2]宋關福,王爾琪.MicroStation開發語言(MDI)應用教程[M].北京:科學出版社,1996
[3]孫紅春.基礎地理信息系統的空間數據規范與組織結構[J].同濟大學學報(自然科學版),2001(8)
[4]王殿坤,王峰.GIS建庫與地圖制圖一體化解決方案的設計與實現[J].測繪與空間地理信息,2010(2)
[5]李云嶺,靳奉祥,季民.數字測圖與GIS建庫的關系研究[J].測繪通報,2004(2)
[6]高俊.地理空間數據的可視化[J].測繪工程,2000(3)
[7]龍毅,沈婕,周衛.GIS空間數據的分析與制圖一體化策略[J].測繪科學技術學報,2006(4)