劉陽,劉允,王光升,劉宓
(天津市測繪院,天津 300381)
隨著國家基本比例尺地形圖圖式和國家基礎地理信息要素數據字典的頒布實施,測繪領域已經開始了數字化測繪向信息化測繪的轉變,信息化是城市發展的方向,發展信息化測繪技術也是測繪行業明確的發展目標。為適應當前的發展趨勢,天津市測繪院開發設計了一套適合天津市基礎地理信息數據標準的采集編輯系統。
在研發管線數據采集編輯功能的過程中,天津市測繪院引入了反應器技術,并結合動態塊的運用,為管線數據開發了實用的采集編輯功能,為管線數據提供了新的數據組織和表達。
反應器是一種反饋機制,它可以在發生某些特定事件時,將所發生的事件通知給應用程序,應用程序會根據發生的具體事件做出相應的決策。AutoCAD的反應器技術的支持,對應于標準Windows消息的Auto-CAD事件反應器,可以隨時監測AutoCAD中的事件并自動調用相應的回調函數。通過建立對象間的依賴關系及反應器的設計,可以實現多個實體間的連動操作與編輯,操作更加簡單。
AutoCAD從2006版本開始,增加了功能強大的動態圖塊。動態塊具有靈活性和智能性。在操作時可以方便地更改圖形中的動態塊,而不需要炸開它們。可以通過自定義夾點或自定義特性來操作動態塊參照中的幾何圖形。這使得用戶可以根據需要調整塊,而不用搜索另一個塊以插入或重定義現有的塊。動態塊能夠賦予圖塊更靈活多變的樣式,使圖塊擁有自己的屬性和行為,可以體現更加豐富的信息。
在地形圖上,管線數據主要由三部分組成:管線骨架線、連接線和管線符號(如圖1所示)。由于這三部分數據之間是相互分離的,因此一旦管線數據有變化時,就要先修改好管線的骨架線,然后刪除原來的連接線和符號,再根據新的骨架線重新生成管線的連接線和符號。單純的人工編輯,不僅效率不高,而且比較繁瑣容易出錯。依靠程序雖然可以解決一部分簡單的情況,但是地形圖上管線數據通常又比較復雜,并不能完全正確的解決問題。

圖1 管線數據的組織
對于管線符號而言,為了使管線符號能被清晰表達,我們在不同情況下采用不同樣式的符號來表示(如圖2所示)。例如:相鄰電桿距離較近時,用圖式符號尺寸大小的二分之一符號表示;仍表示不下時,則只用圓圈符號表示;當管線入房屋時,用舍去圓圈的管線符號表示。為了適應這些情況,就要制作多個符號塊,再根據不同的情況配置不同的符號塊,操作起來十分不便,編輯效率很低。

圖2 管線符號的各種樣式
基于以上的情況,在開發天津市基礎地理信息采集編輯系統的過程中,筆者將反應器和動態塊技術運用到了管線要素的繪制編輯功能。對管線的骨架線添加反應器來實現管線骨架線、連接線和管線符號的連動表示,并將管線符號做成動態塊來反映圖面上不同的表示,作業員根據不同的情況更改動態塊的樣式,就可以滿足圖面不同情況的表示。
下面簡單介紹一下管線繪制的程序實現過程。從管線的一端開始,按照電桿的中心位置進行繪制。計算出相鄰電桿之間的距離和角度,根據兩點間的距離確定塊名。符號塊確定好后,根據符號尺寸和相鄰電桿之間的角度計算出管線的連接線起止點,繪制連接線。再根據采集的電桿位置繪制管線的骨架線,并為骨架線添加反應器,實現這三者之間的連動。


為管線數據添加了反應器后,我們在反應器函數MX:DRAW_PLINE_1_RR中就要對管線數據給予相應的編輯處理,以滿足圖面的需要。當管線數據編輯修改時,需要重新按照距離計算動態塊顯示模式,更新符號的位置和角度,并根據新的符號塊更新管線的連接線。實現了這整個連動過程,也就實現了通過反應器和動態塊對管線的快速編輯功能。


圖3 管線的反應器效果圖
從圖3中可以看出,在B節點處拖動管線的骨架線后,管線上配置的符號也跟著連動改變,拖動之后B節點和C節點之間的距離縮短了,B節點和C節點之間配置的符號樣式也就發生了變化。結合動態塊技術,管線的繪制和修改操作變得十分簡單,只要改變骨架線的位置,骨架線上配置的符號和連接線就會隨之變化,而且根據兩個節點之間距離的不同,顯示相應尺寸的管線符號。根據圖面的各種表示情況,只是簡單更改一下動態塊的表現形式(如圖4所示)就可以了,這樣就不必將原先配置的連接線和符號刪除再重新解釋,只需拖動骨架線的節點就可完成管線的修改,使用非常方便。

圖4 管線動態符號塊的表現形式
在管線數據的采集編輯中采用反應器和動態塊技術,既簡化了作業流程,提高了作業效率和精度,又簡化了數據的結構,易于數據的管理。筆者在研究基礎地理信息數據采集編輯功能中不斷嘗試新的思路和技術,相信能為今后更高效智能地實現基礎地理信息數據的采集起到很好的促進作用。
[1]陳杉,王寧,郭劍峰.用ObjectARX開發AutoCAD 2000應用程序[M].北京:人民郵電出版社,
[2]陳伯雄,馮偉.VisualLISP程序設計——技巧與范例[M].北京:人民郵電出版社,
[3]佟里欣.AutoCAD 2000探秘 -AutoLISP入門[M].北京:海洋出版社,
[4]秦洪現,崔惠嵐,孫劍.Autodesk系列產品開發培訓教程[M].北京:化學工業出版社,
[5]余承飛,方勇.AutoCAD 2000二次開發技術(Object-ARX)[M].北京:人民郵電出版社,1999.
[6]宋延杭,王川,李永宣.ObjectARX實用指南——Auto-CAD二次開發[M].北京:人民郵電出版社,