平立面一体化测图模块设计与实现
2014-06-26李德龙
李德龙
(合肥市测绘设计研究院,安徽 合肥 230061)
1 引 言
常规“测图”,是指测绘地物在水平面上的投影。为解决立面图测量及平、立面图一体化测量问题,我院展开平立面测图一体化测量模块的研发工作。模块研发指导思想:在不配置新设备,如三维激光扫描系统、近景摄影测系统等情况下,采用约定的测量规则,利用全站仪内存记录测量数据,通过研发的模块,完成平面地形图与建筑立面图一体化测量,并对相关数据进行统计分析。
2 墙立面方程建立与坐标转换
2.1 墙立面方程建立
如图1所示EFGR 为建筑墙立面所在平面,设方程为Ax+By+Ch+D=0,因平面垂直地面,所以C=0,则方程简化为Ax+By+D=0,测定E、F、G、R 四点三维坐标,利用最小二乘法求出平面方程系数A、B、D。
图1 墙立面坐标转换
2.2 坐标转换
全站仪记录地物点数据格式为:点名,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)可知,在确定墙立面方程及左下角坐标情况下,就可把位于该墙立面内的任意三维点测量坐标转换为墙立面所在平面的二维坐标。
3 平立面一体化测量
3.1 平面图测量方法
按常规作业,不赘述。
3.2 立面图测量方法
图2 平立面一体化测量
图2中,a1、a2、a3 为平面、高程控制点。作业前确定建筑名称和建筑墙立面名称,要求名称唯一。墙立面要素测点点名要求如下。
(1)测点点名格式:“墙立面名称”+“#”+“序号”。例:A 栋建筑北面墙AN 某测点点名为“AN#007”。
(2)测点编号分配。同一墙立面测点编号中,最小4 个序号分配给墙立面4 个拐角测点,程序处理时自动排序查找“同名”测点中的前4 个,以建立墙立面方程,同时判断墙立面的左下角坐标,作为墙立面的坐标原点,即图1中R 点。
(3)同一墙立面要素可以在不同测站施测,程序会通过排序功能把不同测站观测的“同名”数据进行分类整理。测点序号相连的,如AS#009 和AS#010,绘图时,两测点间连线,序号相隔的不连线。同时,程序绘图时会把不同墙立面对象放置在以墙立面名称命名的图层中,编辑处理必须在对应的图层中进行。程序自动统计各墙立面的可粉刷面积和全部墙立面的可粉刷面积。
4 程序实现
本程序开发语言使用Visual Basic.net 2010,采用微软ActiveX 技术,通过对AutoCAD 2010 的COM 组件的引用,实现测量数据交换与处理。
4.1 连接AutoCAD
首先在开发环境中添加AutoCAD 2010 Type Library 的引用。
Dim acadapp as AutoCAD.AcadApplication 定义对象
acadapp=GetObject("AutoCAD.Application.18") 如果AutoCAD 已运行,获取对象
acadapp= CreateObject("AutoCAD.Application.18")如果AutoCAD 未运行,创建对象
4.2 数据排序
为方便程序自动化处理,把测点观测数据传递至数组,通过数组的Array.Sort 方法对观测数据进行排序。排序结果如下:
4.3 限差设置
由于墙立面的窗户、阳台凸凹情况及误差和粗差的存在,数据处理时,须考虑测点偏差。
(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 时,测点投影至主投影面;超过限差,程序忽略此细部点数据处理,超限点信息写入报告,供查错纠正使用。
4.4 图形绘制
AutoCAD 2010 COM 组件封装了丰富的面向对象的方法,可以完成图形的自动化绘制。主要方法如下。
绘制墙立面图时,程序判断建筑边线方位角,布置墙立面图于建筑拐角处,且旋转墙立面绘图方位与建筑方位相同。不同墙立面分别属于不同的层,即使墙立面之间或立面与平面之间有压盖,利用图层开关,可以方便编辑和查看,如图3所示。
图3 墙立面部件图
4.5 粉刷面积统计
图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) 注记窗户总面积
5 结 语
平立面一体化测量模块的研发,在合肥市旧城改造测绘中发挥了积极作用。测绘业在科学技术进步的大背景下,已从经典测量发展为现代测绘,数字化、信息化、智能化概况了现代测绘的发展主要阶段。测绘技术的发展同时对测绘生产单位提出了更高的要求,测绘单位只有加强技术创新和技术研发能力,才能更好适应现代测绘的要求。
[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.