|
||||||||||
|
|
|||||
EXCEL辅助计算公路中桩与边桩参数的应用 | |||||
作者:佚名 论文来源:本站原创 点击数: 更新时间:2008-12-4 | |||||
摘要:在现今的道路桥梁建设中, 全站仪以其高精度、高效率的特点,在测量放样中得到广泛的应用,它将传统的二维测量提升到了三维测量的高度。但大量的坐标计算加重了测量人员的工作强度,也影响了全站仪的使用效率。本人根据《公路工程施工测量》提供的fx-4500程序,利用excel函数与逻辑循环语来计算公路中桩及边桩参数,大大提高了计算的可靠性和速度。 关键词:excel 计算 公路中桩 公路边桩
一、前言 在当前的高速公路施工中,全站仪以其高精度、使用简便的特点在施工测量放样中得到广泛的应用。它的使用还有一个意义,它将测量从传统的二维测量提升到三维测量的高度,使测量效率大为提高。全站仪使用时需计算大量的坐标,坐标的正确和精度直接关系到测量结果的准确度;另外,对于现场计算的坐标,能否迅速的得出结果也会影响全站仪的使用效率,所以准确、快速的坐标计算也是全站仪使用中的关键一环。 坐标的计算涉及到大量的数据和公式,计算时极易出错。测量中使用最多、计算最为复杂的是公路中桩、边桩坐标和方位角,其他的施工测量都是以此作为参照,经过简单运算即可得结果。现测量员普遍采用可编程计算器帮助计算,使用前需根据不同的计算器特性输入程序,计算时根据不同的路段选择不同的程序输入参数,逐个得到坐标或方位角,还得反复校核。这对于大批量计算来说是一个不小的工程。 现在,电脑在施工单位已得到使用普及,在工程量及数测量数据处理过程中,office中excel经常是测量技术人员利用的工具。本人根据本人从2002年至2005年的利用电脑处理测量资料的经验结合excel的强大功能,总结出了用电脑计算公路中桩、左侧、右侧坐标的可行方法,并利用excel的逻辑语句编制了一个小的应用程序。希望能把测量人员从重复性的劳动中解脱出来。 二、工作原理 1.应用程序的目标 上文已讲到施工测量中使用最多、计算最为复杂的是公路中线逐点坐标和切线方位角,既中桩的x值、y值。excel的主要目标就是计算公路中线的中桩参数。 2.源程序 l1 f:n:g:r:u:q:j:k起算要素 l2 defm 4 扩大内存 l3 m=i/2-i^3/240/r^2 m为加设缓和曲线后使切线增长的距离 l4 p=i^2/24/r-i^4/2688/r^3 p为加设缓和曲线,圆曲线相对于切线的内移量 l5 e=(r+p)/cos(n/2)-r e外矢距在excel中角度默认为弧度。 l6 l=πrn/180+i l为曲线长含缓和段 l7 t=m+(r+p)tan(n/2)切线长 l8 a=q-t:b=a+i:d=a+l:c=d-i zh:hy:hz:yh里程桩号 l9 rec(t,f+180) zh点坐标增量计算 l10 z[1]=v+j:z[2]=w+k zh点坐标(v,w坐标增量,计算机内部运算) l11 rec(t,f+gn) hz点坐标增量计算 l12 z[3]=v+j:z[4]=w+k hz点坐标 lbi θ l14 {h,s,e} 待点要素 l15 h<a=>goto 1 第一段直线上任一点坐标计算 l16 ≠>h<b=>goto 2 第一段缓和曲线上任一点坐标计算 l17 ≠>h<c=>goto 3 圆曲线上任一点坐标计算 l18 ≠>h<d=>goto 4 第二段缓和曲线上任一点坐标计算 l19 ≠>goto 5 第二段直线上任一点坐标计算 l20 lbi i 第一段直线坐标计算开始 l21 rec(q-h,f+180) 中桩坐标增量计算 l22 x=v+j:y=w+k 中桩坐标 l23 x=x+v:“x”=◢ l24 y=y+w:“y”=◢第一段直线上任一点坐标计算结果 l25 goto θ l26 lbi 2第一段缓和曲线坐标计算开始 l27 z=h-a所求点到zh距离 l28 o=90z^2/r/i/π 所求点的方位角 l29 x=z-z^5/40/r^2/i^2+z^9/3456/r^4/i^4 l30 z=z^6/6/r/i-z^7/336/r^3/i^3+z^11/42440/r^5/i^5 第一段缓和曲线上任一点切线支距法坐标计算 l31 lbi 6 第一段缓和曲线、圆曲线坐标换算计算 l32 rec(x,f) l33 x=z[1]+v:y=z[2]+w l34 rec(x,f+90g) l35 x=x+v:y=y+w l36 lbi 3 圆曲线上任一点切线支距法计算开始 l37 z=h-a-i/2 l38 o=180z/r/π z所对中心角 l39 x=z-z^3/6/r^2+z^5/120/r^4+m l40 z=z^2/2/r-z^4/r^3/24+z^6/720/r^5+p l41 goto 6 l42 lbi 4 第二段缓和曲线计算开始 l43 z=d-h到hz点长度 l44 o=90z^2/r/i/π z所对中心角 l45 x=z-z^5/40/r^2/i^2+z^9/3456/r^4/i4 l46 z=z^3/6/r/i-z^7/336/r^3/i^3+z^11/42240/r^5/i^5 l47 rec(x,f+gn+180) l48 x=z[3]+v:y=z[4]+w l49 rec(x,f+gn+180-90g) l50 x=x+v:y=y+w l51 x=x+v:“x”=◢ l52 y=y+v:“y”=◢ l53 goto θ 程序中符号说明 f-第一直线段正方位角(即后视切线上任一点(如zh)至交点的方位角; n—交点转向角(即偏角);右偏角为正,左偏角为负,输入转向角时不得输入“+、-” g—条件(左偏输入-1,右偏输入+1); r—半径; i—缓和曲线长度(m)(圆曲线i输入0); q—交点里程桩号; j—交点x坐标值; k—交点y坐标值; h—所求点里程桩号; x、y—所求点x、y坐标值。 3.基本思路 本文基本思路是在execel表格中建立若干个工作表,利用execl的逻辑循环语句(if,vlookup)与函数计算公式把这些工作表链接一起。本文利用蒲石河对外永久公路(k1+200-k2+100段)中桩及边桩计算做出execl实例(路宽10米,路基8米,路肩2米),下面以此展开叙述: ⑴、首先在电子表中建立9个工作表,分别命名为基本资料、jd7、jd8、jd9、jd10、jd11、jd12、jd13、成果。 ⑵、a首先在基本资料工作表中输入如下表相对的数据。在电子表格中,三角函数计算以弧度为单位,所以角度值必须在单元格中必须利用pi()/180在角度与弧度的转换。在转向角输入时,向左转时在g对应的单元格中输入-1,向右转时在g对应的单元格中输入1(如表1)。方位角所对应的数据可以直接从设计提供的参数表输入,另外可以用几个单元格链接在一起计算,在表2中利用9个单元格链接起来计算。例如利用jd7与jd6所对应的xy值相减,得出jd7所对行数据的△x△y值,在jd7所对应行的反切值1数据中输入公式=if(e4="","",if(f4=0,"",atan(g4/f4))),在jd7所对应行的反切值2数据中输入公式=if(e4="","",if(g4=0,"",atan(f4/g4))),在jd7所对应行的数据1中输入公式=if(and(f4>0,g4=0),0,("")),在jd7所对应行的数据2中输入公式=if(and(g4>0,f4>0),h4,if(and(g4>0,f4=0),pi()/2,if(and(g4>0,f4<0),pi()/2-i4,("")))),在jd7所对应行的数据3中输入公式if(and(f4<0,g4=0),pi(),("")),在jd7所对应行的数据4输入公式=if(and(g4<0,f4<0),pi()+h4,if(and(f4=0,g4<0),1.5*pi(),if(and(g4<0,f4>0),1.5*pi()-i4,("")))),在jd7所对应行数据方位角弧度中输入公式=if(and(f4>0,g4=0),j4,if(g4>0,k4,if(and(g4=0,f4<0),l4,if((g4<0),m4,("")))))。
表2
b利用已输入的基本资料数据,计算出如下表表3对应的单元格的数据。现以jd7所对应行做公式叙述。在m所对应单元格输入公式if((or(ad4=0,ae4=0))," ",ae4/2-ae4^3/240/ad4^2),在p所对应单元格输入公式if(ad4=0,"",ae4^2/24/ad4-ae4^4/2688/ad4^3),在e所对应单元格输入公式if(or(d4="",e4=""),"",(ad4+ah4)/cos(ac4/2)-ad4),在l所对应单元格输入公式if(or(d4="",e4=""),"",pi()*ad4*ac4/pi()+ae4),在t所对应单元格输入公式if(or(d4="",e4=""),"",if(ag4="",0,ag4+(ad4+ah4)*tan(ac4/2))),在zh所对单元格输入公式if(or(d4="",e4=""),"",c4-ak4),在hy所对应单元格输入公式if(or(d4="",e4=""),"",al4+ae4),在qz所对应单元输入公式if(or(d4="",e4=""),"",am4/2+ao4/2),在yh所对应单元格输入公式if(or(d4="",e4=""),"",ap4-ae4),在hz所对应单元格输入公式if(or(d4="",e4=""),"",al4+aj4),在bc所对单元格输入步长。 表3
⑶.然后利用源程序开始在工作表jd7、jd8、jd9、jd10、jd11、jd12、jd13中进行编单元格。现在以jd7所对应的工作表进行实例叙述。工作表在计算过程中只能上一个交点的hz点到本交点的hz点间的数据进行计算。 a、例如表4,在工作表的第一个单元格输入数字7(与jd7所对应的数字7一致),然后把jhzh、jdx、jdy、r、i、p、e、f、g、n、m、bc所对单元格参数与基本资料所对应的单元格参数链接起来,加宽值输入设计加宽值,常数输入为从路肩开始横向增加的宽度。
b、例如表5,桩号(zh-hz)所对应的单元格中分别输入公式vlookup(a1,基本资料!$a$3:$aq$32,38,)、vlookup(a1,基本资料!$a$3:$aq$32,39,)、vlookup(a1,基本资料!$a$3:$aq$32,40,)、vlookup(a1,基本资料!$a$3:$aq$32,41,)、vlookup(a1,基本资料!$a$3:$aq$32,42,)。在zh所对应的参数单元格输入公式if(and(a8>=a$7,a8<=a$8),a$3-a8,if(and(a8>=a$8,a8<=a$9),a8-a$8,if(and(a8>=a$9,a8<=a$11),(a8-a$8-e$3/2),if(and(a8>=a$11,a8<=a$12),a$12-a8,"")))),利用编辑工具栏中向下填充公式。在zh点与hz点对应的x、y单元格中分别输入公式b3+f3*cos(a5+pi())、c3+f3*sin(a5+pi())、b3+f3*cos(a5+b5*c5)、c3+f3*sin(a5+b5*c5),首先计算出zh点与hz点所对应的x、y坐标。在zh点所对应的切线方位角单元格if(a8<=a$8,a$5,if(and(a8>=a$8,a8<=a$9),0.5*b8^2/d$3/e$3*b$5+a$5,if(and(a8>=a$9,a8<=a$11),b8/d$3*b$5+a$5,if(and(a8>=a$11,a8<=a$12),0.5*b8^2/d$3/e$3*(-b$5)+a$5+b$5*c$5,if(a8>=a$12,a$5+b$5*c$5))))),然后利用向下填充功能把公式向下填充,计算相对应的桩号在切线方向的方位角。在hy点所对应的x、y单元格中输入相应公式if(and(a9>=a$7,a9<=a$8),round(b9*cos(a$5+pi())+b$3,3),if(and(a9>=a$8,a9<=a$9),round(c$8+cos(a$5)*(b9-b9^5/40/d$3^2/e$3^2+b9^9/3469/d$3^4/e$3^4)+cos(a$5+pi()/2*b$5)*(b9^3/6/d$3/e$3-b9^7/336/d$3^3/e$3^3+b9^11/42240/d$3^5/e$3^5),3),if(and(a9>=a$9,a9<=a$11),round(c$8+cos(a$5)*(b9-b9^3/6/d$3^2+b9^5/120/d$3^4+d$5)+cos(a$5+pi()/2*b$5)*(b9^2/2/d$3-b9^4/d$3^3/24+b9^6/720/d$3^5+i$3),3),if(and(a9>=a$11,a9<=a$12),round(c$12+cos(a$5+b$5*c$5+pi())*(b9-b9^5/40/d$3^2/e$3^2+b9^9/3469/d$3^4/e$3^4)+cos(a$5+pi()+b$5*c$5-pi()/2*b$5)*(b9^3/6/d$3/e$3-b9^7/336/d$3^3/e$3^3+b9^11/42240/d$3^5/e$3^5),3)," "))))与if(and(a9>=a$7,a9<=a$8),round(b9*sin(a$5+pi())+c$3,3),if(and(a9>=a$8,a9<=a$9),round(d$8+sin(a$5)*(b9-b9^5/40/d$3^2/e$3^2+b9^9/3469/d$3^4/e$3^4)+sin(a$5+pi()/2*b$5)*(b9^3/6/d$3/e$3-b9^7/336/d$3^3/e$3^3+b9^11/42240/d$3^5/e$3^5),3),if(and(a9>=a$9,a9<=a$11),round(d$8+sin(a$5)*(b9-b9^3/6/d$3^2+b9^5/120/d$3^4+d$5)+sin(a$5+pi()/2*b$5)*(b9^2/2/d$3-b9^4/d$3^3/24+b9^6/720/d$3^5+i$3),3),if(and(a9>=a$11,a9<=a$12),round(d$12+sin(a$5+b$5*c$5+pi())*(b9-b9^5/40/d$3^2/e$3^2+b9^9/3469/d$3^4/e$3^4)+sin(a$5+pi()+b$5*c$5-pi()/2*b$5)*(b9^3/6/d$3/e$3-b9^7/336/d$3^3/e$3^3+b9^11/42240/d$3^5/e$3^5),3)," "))))。在公路中桩hy、qz、yh及zh点以下所对应的x、y单元格填充以上公式,利用以公式计算出中桩坐标。zh点以下所对桩号内输入上一个交点处hz点桩号,在与其相邻的递增桩号取5的倍数,例如在表5中桩号1100以下的桩号中输入公式a14+e$5,e$5所表示的步长为5。在左、右侧任意值分别输入宽度所对公式if(b$5>0,5,if(a8<=a$8,5,if(and(a8>=a$8,a8<a$9),(a8-a$8)/e$3*f$5+5,if(and(a8>=a$9,a8<a$11),5+f$5,if(and(a8>=a$11,a8<a$12),abs(a8-a$12)/e$3*f$5+5,if(a8>=a$12,5))))))+i$5、if(b$5<0,5,if(a8<=a$8,5,if(and(a8>=a$8,a8<a$9),(a8-a$8)/e$3*f$5+5,if(and(a8>=a$9,a8<a$11),5+f$5,if(and(a8>=a$11,a8<a$12),abs(a8-a$12)/e$3*f$5+5,if(a8>=a$12,5))))))+i$5,利用excel的相下填充功能,向下填充公式,计算左、右侧的任意宽度。在zh所对应左侧任侧任意值x、y单元格内分别输入公式c8+i8*cos(f8-pi()/2)与公式d8+i8*sin(f8-pi()/2),在zh所对应右侧任意值x、y单元格内分别输入公式c8+t8*cos(f8+pi()/2)与d8+t8*sin(f8+pi()/2),同样利用向下填充功能复制单元格公式。
c.利用上述方式,在工作表jd8-jd13编辑公式。 ⑷工作表成果得出所有在k1+100-k2+100段的中桩及左右侧任意点坐标。参数栏所对应值为从路肩横向增加值(变换常数)。例如在桩号1100所对应行,左侧任意值x、y单元格输入公式if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,10,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,10,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,10,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,10,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,10,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,10,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,10,false),"")))))))与if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,11,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,11,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,11,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,11,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,11,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,11,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,11,false),""))))))),在中桩坐标所对应的x、y单元格输入公式if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,3,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,3,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,3,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,3,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,3,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,3,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,3,false),"")))))))与if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,4,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,4,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,4,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,4,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,4,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,4,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,4,false),""))))))),在右侧任意值所对应的x、y单元格中输入公式if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,21,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,21,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,21,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,21,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,21,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,21,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,21,false),"")))))))与if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,22,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,22,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,22,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,22,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,22,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,22,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,22,false),""))))))),在切线方位角所对应的单元格中输入公式if(and(b4>=1100,b4<=1250),vlookup(b4,jd7!a:v,8,false),if(and(b4>=1255,b4<=1360),vlookup(b4,jd8!a:v,8,false),if(and(b4>=1365,b4<=1585),vlookup(b4,jd9!a:v,8,false),if(and(b4>=1590,b4<=1760),vlookup(b4,jd10!a:v,8,false),if(and(b4>=1765,b4<=1875),vlookup(b4,jd11!a:v,8,false),if(and(b4>=1880,b4<=2030),vlookup(b4,jd12!a:v,8,false),if(and(b4>=2035,b4<=2105),vlookup(b4,jd13!a:v,8,false),""))))))),利用向下填充功能就得出桩号5米递增的坐标与方位角。 表6
本文的工作原理基于计算机常规软件excel的应用,提高工程测量内业计算速度与准确度,充分发挥了现有办公设备的功能,极大地提高了工作效率。 |
|||||
论文录入:guoxingxing 责任编辑:guoxingxing | |||||
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| 设为首页 | 加入收藏 | 网站简介 | 下载帮助 | 充值点数 | 版权申明 | 管理登录 | |