GIS资讯 GIS技术 GIS产品 GIS书籍 GIS下载 GIS知识 GIS论文 GIS考研 GIS人物 GIS企业 GIS招聘 GPS相关 RS 相关 3D 相关 测绘相关 GIS博客 招标信息
您当前的位置:GIS资讯小组资讯中心GIS论文 → 资讯内容
Google
EXCEL辅助计算公路中桩与边桩参数的应用
作者:佚名  来源:不详  更新时间:2008-1-3 11:22:51

减小字体 增大字体


一、前言

在当前的高速公路施工中,全站仪以其高精度、使用简便的特点在施工测量放样中得到广泛的应用。它的使用还有一个意义,它将测量从传统的二维测量提升到三维测量的高度,使测量效率大为提高。全站仪使用时需计算大量的坐标,坐标的正确和精度直接关系到测量结果的准确度;另外,对于现场计算的坐标,能否迅速的得出结果也会影响全站仪的使用效率,所以准确、快速的坐标计算也是全站仪使用中的关键一环。

坐标的计算涉及到大量的数据和公式,计算时极易出错。测量中使用最多、计算最为复杂的是公路中桩、边桩坐标和方位角,其他的施工测量都是以此作为参照,经过简单运算即可得结果。现测量员普遍采用可编程计算器帮助计算,使用前需根据不同的计算器特性输入程序,计算时根据不同的路段选择不同的程序输入参数,逐个得到坐标或方位角,还得反复校核。这对于大批量计算来说是一个不小的工程。

现在,电脑在施工单位已得到使用普及,在工程量及数测量数据处理过程中, Office 中 EXCEL 经常是测量技术人员利用的工具。本人根据本人从 2002 年至 2005 年的利用电脑处理测量资料的经验结合 EXCEL 的强大功能,总结出了用电脑计算公路中桩、左侧、右侧坐标的可行方法,并利用 EXCEL 的逻辑语句编制了一个小的应用程序。希望能把测量人员从重复性的劳动中解脱出来。

二、工作原理

1. 应用程序的目标

上文已讲到施工测量中使用最多、计算最为复杂的是公路中线逐点坐标和切线方位角,既中桩的 X 值、 Y 值。 EXCEL 的主要目标就是计算公路中线的中桩参数。

2 .源程序

L 1 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 点坐标增量计算

L1 2 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,(""))))) 。


表 1

表 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


c .以上基本资料工作表以 JD7 所对应行做例子, JD8 至 JD13 所对应行输入公式采用电子表格中的编辑栏中的向下填充功能,向下填充公式。

⑶ . 然后利用源程序开始在工作表 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 所对单元格参数与基本资料所对应的单元格参数链接起来,加宽值输入设计加宽值,常数输入为从路肩开始横向增加的宽度。


表 4

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) ,同样利用向下填充功能复制单元格公式。


表 5

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 的应用,提高工程测量内业计算速度与准确度,充分发挥了现有办公设备的功能,极大地提高了工作效率。

附 EXCEL 工作表(基本资料、 JD7 、成果)样例




[] [返回上一页] [打 印]
资讯评论 (评论内容只代表 GISTM 网友观点,与本站立场无关!)

用户名: * 查看 GISTM 更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         ( 注意“*”必填,请自觉遵守法律法规!) 验证码: 验证码,看不清楚?请点击刷新验证码

推荐文章
相关文章

关于本站 - 免责声明 - 帮助(?) - 友情连接 - 网站地图 - 网站留言