李德龍
(合肥市測繪設計研究院,安徽 合肥 230061)
常規“測圖”,是指測繪地物在水平面上的投影。為解決立面圖測量及平、立面圖一體化測量問題,我院展開平立面測圖一體化測量模塊的研發工作。模塊研發指導思想:在不配置新設備,如三維激光掃描系統、近景攝影測系統等情況下,采用約定的測量規則,利用全站儀內存記錄測量數據,通過研發的模塊,完成平面地形圖與建筑立面圖一體化測量,并對相關數據進行統計分析。
如圖1所示EFGR 為建筑墻立面所在平面,設方程為Ax+By+Ch+D=0,因平面垂直地面,所以C=0,則方程簡化為Ax+By+D=0,測定E、F、G、R 四點三維坐標,利用最小二乘法求出平面方程系數A、B、D。

圖1 墻立面坐標轉換
全站儀記錄地物點數據格式為:點名,Y 坐標,X坐標,H 高程。立面測圖就是把三維空間坐標換換為平面坐標,如圖1所示。平面X'RY'為建筑墻立面,垂直于水平面XOY,R'Q'為兩平面交線。R 為建筑墻立面左下角點,在測量坐標系中坐標為(XR,YR,HR),RR' =HR(R 點高程值)。P 為墻立面窗戶一點,在測量坐標系中坐標為(XP,YP,HP),在X'RY'平面坐標系中坐標為(X'P,Y'P)。由圖1可得:

由式(1)、式(2)可知,在確定墻立面方程及左下角坐標情況下,就可把位于該墻立面內的任意三維點測量坐標轉換為墻立面所在平面的二維坐標。
按常規作業,不贅述。

圖2 平立面一體化測量
圖2中,a1、a2、a3 為平面、高程控制點。作業前確定建筑名稱和建筑墻立面名稱,要求名稱唯一。墻立面要素測點點名要求如下。
(1)測點點名格式:“墻立面名稱”+“#”+“序號”。例:A 棟建筑北面墻AN 某測點點名為“AN#007”。
(2)測點編號分配。同一墻立面測點編號中,最小4 個序號分配給墻立面4 個拐角測點,程序處理時自動排序查找“同名”測點中的前4 個,以建立墻立面方程,同時判斷墻立面的左下角坐標,作為墻立面的坐標原點,即圖1中R 點。
(3)同一墻立面要素可以在不同測站施測,程序會通過排序功能把不同測站觀測的“同名”數據進行分類整理。測點序號相連的,如AS#009 和AS#010,繪圖時,兩測點間連線,序號相隔的不連線。同時,程序繪圖時會把不同墻立面對象放置在以墻立面名稱命名的圖層中,編輯處理必須在對應的圖層中進行。程序自動統計各墻立面的可粉刷面積和全部墻立面的可粉刷面積。
本程序開發語言使用Visual Basic.net 2010,采用微軟ActiveX 技術,通過對AutoCAD 2010 的COM 組件的引用,實現測量數據交換與處理。
首先在開發環境中添加AutoCAD 2010 Type Library 的引用。
Dim acadapp as AutoCAD.AcadApplication 定義對象
acadapp=GetObject("AutoCAD.Application.18") 如果AutoCAD 已運行,獲取對象
acadapp= CreateObject("AutoCAD.Application.18")如果AutoCAD 未運行,創建對象
為方便程序自動化處理,把測點觀測數據傳遞至數組,通過數組的Array.Sort 方法對觀測數據進行排序。排序結果如下:

由于墻立面的窗戶、陽臺凸凹情況及誤差和粗差的存在,數據處理時,須考慮測點偏差。
(1)用于解算墻立面方程的拐角點坐標偏差限差設置為0.1 m。使用最小二乘法求解墻立面方程為:Ax+By+D=0。設拐角點距墻立面距離Si= |Axi+如果Si>0.1,則認為所測拐角點坐標限差超限。程序忽略整個墻立面測點數據處理,超限測點信息寫入錯誤報告,供查錯糾正使用。
(2)墻立面細部測點坐標基本偏差限差為0.3 m。設細部點坐標距墻立面距離為Zi,如果Zi>0.3,則認為細部點坐標超限。程序忽略此細部點數據處理,超限點信息寫入報告,供查錯糾正使用。
(3)凸凹墻立面簡化處理時限差設置。圖2中,B建筑中BE 立面整體結構有凸凹,可以分別精確測量繪制每個凸凹面,也可進行簡化處理。凸凹墻立面簡化處理時,選擇一主投影面,設凸凹面至主投影面最大距離為N,此時細部測點至主投影面距離偏差限差設為N+0.3。測點偏差小于N +0.3 時,測點投影至主投影面;超過限差,程序忽略此細部點數據處理,超限點信息寫入報告,供查錯糾正使用。
AutoCAD 2010 COM 組件封裝了豐富的面向對象的方法,可以完成圖形的自動化繪制。主要方法如下。


繪制墻立面圖時,程序判斷建筑邊線方位角,布置墻立面圖于建筑拐角處,且旋轉墻立面繪圖方位與建筑方位相同。不同墻立面分別屬于不同的層,即使墻立面之間或立面與平面之間有壓蓋,利用圖層開關,可以方便編輯和查看,如圖3所示。

圖3 墻立面部件圖
圖3中,編輯墻面、窗戶、陽臺等要素,使其封閉,程序查找當前圖層中閉合圖形。面積最大者為建筑墻立面整體,設其面積為S;剩余為墻立面中的窗戶、陽臺、透氣孔等部件,累加計算其總面積T;S -T 為墻立面墻可粉刷面積。主要方法如下。
FilterType(0)=8 以圖層為選擇集過濾器
FilterData(0)=layerent.Name 圖層名稱
filterset.Select(acSelectionSetAll,,,FilterType,FilterData)
選取指定圖層的實體
areaofacadline(iii)=acadline.Area 閉合線面積賦值
acadapp.ActiveDocument.ModelSpace.AddText(window_area) 注記窗戶總面積
平立面一體化測量模塊的研發,在合肥市舊城改造測繪中發揮了積極作用。測繪業在科學技術進步的大背景下,已從經典測量發展為現代測繪,數字化、信息化、智能化概況了現代測繪的發展主要階段。測繪技術的發展同時對測繪生產單位提出了更高的要求,測繪單位只有加強技術創新和技術研發能力,才能更好適應現代測繪的要求。
[1]CJJ/T 8 -2011.城市測量規范[S].
[2]別建曉.建筑物立面測量的研究[J].城市勘測,2011(3),141 ~143.
[3]樊功瑜.測量平差教程[M].北京:測繪出版社,1991.
[4]Francesco Balena Visual Basic.net 技術內幕[M].北京:清華大學出版社,2003.
[5]曾洪飛,張帆,盧擇臨.AutoCAD VBA & VB.NET 開發基礎與實例教程[M].北京:中國電力出版社,2008.
[6]武漢測繪科技大學《測量學》編寫組編著.測量學[M].北京:測繪出版社,2002.
[7]孔祥元,郭際明,劉宗泉.大地測量學基礎[M].武漢:武漢大學出版社,2001.