您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 用Excel程序快速计算公路工程逐桩坐标
TRANSPOWORLD2011No.17(Sep)84HIGHWAY现代公路引言在公路工程设计及施工过程中,逐桩坐标的计算是一项必不可少的工作,尤其近些年随着全站仪的普及使用,坐标放样法因速度快、精度高而被广泛应用,逐桩坐标计算的工程量也因此而大大增加。例如:某高速公路某一合同段有20公里的路基,按照常规的设计及施工方法,不考虑曲线加桩,按每20m一个断面,每个断面左右幅2个点,则需要计算1000个点2000个坐标。如此大的计算量如果采用传统的计算器计算,不仅费时,还难免出错。笔者从事多年施工工作,针对这一情况,利用MicrosoftOffice中的Excel电子表格的编程计算功能,设计了一套包括直线、缓和曲线和圆曲线的坐标计算程序,该计算程序具有快速、精确、程序简单、使用方便等优点,较其他编程软件编制的计算程序更灵活、更适用。程序设计程序设计初步打开MicrosoftOfficeExcel2003,新建工作表book1,并将其命名为“公路工程逐桩坐标计算表”。将设计的公路直曲线、主点桩号等参数输入该工作表内。计算图示及参数的规定:如图1,交点坐标JD(Xj,Yj),转角值α,曲线半径R,缓和曲线长度Ls,切线长度T,计算方位角A。任意里程桩号为“K×××+×××”(简写为K),曲线上ZH/HZ(HY/YH)点里程为:“K×××+×××”(简写为ZH/HZ(HY/YH)),方位角A的单位为°。一般里程桩号书写格式为“K公里+米”,公里数一般为1~3位数,米数统一采用7位数(精确到小数点后3位)。同时,Excel中三角函数的参数单位为弧度。坐标计算直线段逐桩坐标首先介绍函数Value(MIDB(“ZH”,2,n)&MIDB(“ZH”,n+3,7)),n表示公里数的位数,当里程公里数为1位数,则n=1,当公里数为2位数,n=2,当里程公里数为3位数时,n=3……。如ZH=K136+700,运行该函数,n=3,结果=136700,其目的为将K136+700文本数据(字符串)去掉“K”和“+”,并转换成数字格式。则里程≤ZH的前直线上任意桩号坐标计算:在Excel某一单元格中,坐标计算编辑公式为:X=Xj+(T+Value(MIDB(“ZH”,2,n)&MIDB(“ZH”,n+3,7))-Value(MIDB(“K”,2,n)&MIDB(“K”,n+3,7)))*cos((A1+180)*PI()/180)Y=Yj+(T+Value(MIDB(“ZH”,2,n)&MIDB(“ZH”,n+3,7))-Value(MIDB(“K”,2,n)&MIDB(“K”,n+3,7)))*sin((A1+180)*PI()/180)里程K≥HZ的后直线上任意桩号坐标计算为:X=Xj+(T+Value(MIDB(“K”,2,n)&MIDB(“K”,n+3,7))-Value(MIDB(“HZ”,2,n)&MIDB(“HZ”,n+3,7)))*cos(A2*PI()/180);Y=Yj+(T+Value(MIDB(“K”,2,n)&MIDB(“K”,n+3,7))-Value(MIDB(“HZ”,2,n)&MIDB(“HZ”,n+3,7)))*sin(A2*PI()/180)第一缓和曲线(ZH~HY)内任意点坐标X=Xj+T*cos((A1+180)*PI()/180)+((VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))-(VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^5/(40*R^2*Ls^2)+(VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^9/(3456*R^4*Ls^4))/COS((VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^2/(6*R*Ls))*COS((A1±30*(VALUE(MIDB(k,2,n)&MIDB(k,n+3,用Excel程序快速计算公路工程逐桩坐标文/左卿图1逐桩坐标计算示意图图1逐桩坐标计算示意图2011年第17期《交通世界》85(9月上)《交通世界》7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^2/(PI()*R*Ls))*PI()/180)Y=Yj+T*sin((A1+180)*PI()/180)+((VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))-(VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^5/(40*R^2*Ls^2)+(VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^9/(3456*R^4*Ls^4))/COS((VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^2/(6*R*Ls))*sin((A1±30*(VALUE(MIDB(k,2,n)&MIDB(k,n+3,7))-VALUE(MIDB(ZH,2,n)&MIDB(ZH,n+3,7)))^2/(PI()*R*Ls))*PI()/180)计算式中的“±”取舍为,当路线右转时取“+”,左转时取“-”。第二缓和曲线(HZ-YH)内任意点坐标X=Xj+T*cos(A2*PI()/180)+((VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))-(VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^5/(40*R^2*Ls^2)+(VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^9/(3456*R^4*Ls^4))/COS((VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^2/(6*R*Ls))*COS((A2+180±30*(VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^2/(PI()*R*Ls))*PI()/180)Y=Yj+T*sin(A2*PI()/180)+((VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))-(VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^5/(40*R^2*Ls^2)+(VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^9/(3456*R^4*Ls^4))/COS((VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^2/(6*R*Ls))*sin((A2+180±30*(VALUE(MIDB(HZ,2,n)&MIDB(HZ,n+3,7))-VALUE(MIDB(K,2,n)&MIDB(K,n+3,7)))^2/(PI()*R*Ls))*PI()/180)计算式中的“±”取舍为,当路线右转时取“-”,左转时取“+”。圆曲线内任意点坐标从HY~YH方向计算时X=Xj+T*cos((A1+180)*PI()/180)+(Ls-Ls^3/(40*R^2)+Ls^5/(3456*R^4))/COS(Ls/(6*R))*COS((A130*Ls/(PI()*R))*PI()/180)+2*R*sin((value(midb(“K”2n)&midb(“K”n+37))-value(midb(“HY”,2,n)&midb(“HY”,n+3,7)))/(2*R))*cos((A1±90*((value(midb(“K”,2,n)&midb(“K”,n+3,7))-value(midb(“HY”,2,n)&midb(“HY”,n+3,7)))+Ls)/(PI()*R))*PI()/180)Y=Yj+T*sin((A1+180)*PI()/180)+(Ls-Ls^3/(40*R^2)+Ls^5/(3456*R^4))/COS(Ls/(6*R))*sin((A130*Ls/(PI()*R))*PI()/180)+2*R*sin((value(midb(“K”2n)&midb(“K”n+37))-value(midb(“HY”,2,n)&midb(“HY”,n+3,7)))/(2*R))*sin((A1±90*((value(midb(“K”,2,n)&midb(“K”,n+3,7))-value(midb(“HY”,2,n)&midb(“HY”,n+3,7)))+Ls)/(PI()*R))*PI()/180)计算式中的“±”取舍为,当路线右转时取“+”,左转时取“-”,式中2个“±”同号。从YH~HY方向计算时X=Xj+T*cos(A2*PI()/180)+(Ls-Ls^3/(40*R^2)+Ls^5/(3456*R^4))/COS(Ls/(6*R))*COS((A2+18030*Ls/(PI()*R))*PI()/180)+2*R*sin((value(midb(“YH”2n)&midb(“YH”n+37))-value(midb(“K”,2,n)&midb(“K”,n+3,7)))/(2*R))*cos((A2+180±90*((value(Midb(“YH”,2,n)&midb(“YH”,n+3,7))-value(midb(“K”,2,n)&midb(“K”,n+3,7)))+Ls)/(PI()*R))*PI()/180)Y=Yj+T*sin(A2*PI()/180)+(Ls-Ls^3/(40*R^2)+Ls^5/(3456*R^4))/COS(Ls/(6*R))*sin((A2+180±30*Ls/(PI()*R))*PI()/180)+2*R*sin((value(midb(“YH”,2,n)&midb(“YH”,n+3,7))-value(midb(“K”,2,n)&midb(“K”,n+3,7)))/(2*R))*sin((A2+180±90*((value(Midb(“YH”,2,n)&midb(“YH”,n+3,7))-value(midb(“K”,2,n)&midb(“K”,n+3,7)))+Ls)/(PI()*R))*PI()/180)计算式中的“±”取舍为,当路线右转时取“-”,左转时取“+”,式中2个“±”同号。TRANSPOWORLD2011No.17(Sep)86HIGHWAY现代公路计算示例建立逐桩坐标对应表,对ZH、HY、QZ、YH、HZ里程桩号单元格用红色、黄色及青绿色分别填充,便宜区分。计算。以前直线坐标计算为例:在单元格B10、C10中分别输入“=3093764.726+(529.342+VALUE(MIDB(K137+123.01023)&MID(K137+123.01067))-VALUE(MIDB(A1023)&MID(A1067)))*COS((252
本文标题:用Excel程序快速计算公路工程逐桩坐标
链接地址:https://www.777doc.com/doc-7885505 .html