道路中边桩坐标计算EXCEL程序(120424版)
高速公路中、边桩坐标计算表v2.0
-6.00
-6.00
-6.00
-15.60
-15.60
-15.60
-15.60
-15.60
-15.60
-15.60
计 算:
复 核:
48.00 49.00
高速公路中、边桩坐标计算表V2.0 共享版 作者:刘岩
打印日期:2020/7/1 19:20
高速公路中、边桩坐标计算表(缓和曲线部分)
ZH (或HZ)点
打印日期:2020/7/1 19:20
高速公路中、边桩坐标计算表(缓和曲线部分)
ZH (或HZ)点
桩号
曲线 半径
缓和 曲线 长度
曲线 右转 左转
(±1)
ZH(或HZ点)坐标
N)
Y(E)
方位角 (°)
JP(交)点坐标
X(N)
Y(E)
计算 左边桩 右边桩 米数 (+) (-)
桩号
输出
所求点坐标
X(N)
X(N)
Y(E)
计算 左边桩 右边桩 米数 (+) (-)
桩号
输出
所求点坐标
X(N)
Y(E)
308+646.74 500 120
1
2949701.137
491384.471
19.4592205 8
2949847.801
491436.290
0
计算结果如下:
K308+646.74 2949701.137 491384.471
高速公路中、边桩坐标计算表V2.0 共享版 作者:刘岩
打印日期:2020/7/1 19:20
高速公路中、边桩坐标计算表(缓和曲线部分)
ZH (或HZ)点
利用EXCEL表格计算线路中边桩坐标
利用EXCEL表格计算线路中边桩坐标高速公路施工中,桥梁、隧道施工以及路沿石施工时对测量要求相当严格,要求总体宽度误差在1cm以内。
这就要求测量工程师必须把线路边桩都计算出来,每隔10米(曲线段)或者20米(直线段)放样线路边桩,以便指导施工。
如果采用常规的计算器计算,不仅繁琐、费力而且容易出现差错。
本人在计算中边桩坐标时,试着利用EXCEL表格功能,编辑函数大批量计算线路中边桩坐标,达到了高效、准确的目的。
由于直线部分相对简单,复曲线又特别繁琐。
现就圆曲线举例计算如下:例:在浙江省龙丽一级公路施工中,左线圆曲线起点里程为K86+966.6,曲线半径为1500m,曲线左偏,起始方位角为147°43 ′58.2″,线路中心和隧道中心偏差15cm。
计算隧道中心线和衬砌边线(半径5.1m)。
1.在B4方格中输入:=$B$3+3000*SIN((A4-$A$3)/3000)*COS(2.5784244-(A4-$A$3)/3000)+ 0.15*COS(4.149220679-2*(A4-$A$3)/3000)按回车键确认即可以计算出该里程隧道中心线X轴坐标。
2.在C4方格中输入:=$C$3+3000*SIN((A4-$A$3)/3000)*SIN(2.5784244-(A4-$A$3)/3000)+0.15*SIN(4.149220679-2*(A4-$A$3)/3000)按回车键确认即可以计算出该里程隧道中心线Y轴坐标。
同理在3.D4方格中输入:=$B$3+3000*SIN((A4-$A$3)/3000)*COS(2.5784244-(A4-$A$3)/3000)+ COS(4.149220679-2*(A4-$A$3)/3000) *(0.15+5.1)4.在E4方格中输入:=$C$3+3000*SIN((A4-$A$3)/3000)*SIN(2.5784244-(A4-$A$3)/3000)+SIN(4.149220679-2*(A4-$A$3)/3000)*(0.15+5.1)其中 2.5784244为方位角147°43 ′58.2″的弧度表达方式,4.149220679为起始方位角147°43 ′58.2″加90°后的弧度值。
公路逐桩坐标计算程序
2 )sinαAB +(
P 点为顺时针方向时,其方位角为 αAB+900 P 点为逆时针方向时,其方位角为 αAB−900
第一段缓和曲线时:以直缓点(ZH)为起点计算,αAB 为 ZH 点的坐标方位角,L 为 P 点距 ZH 点的距离。 第二段缓和曲线时:以缓直点(HZ)为起点计算,αAB 为 HZ 点坐标方位角的反 方向即 HZ 点方位角加 180 度,L 为 P 点距 HZ 点的距离,加减 90 度刚好与第一 段缓和曲线相反。图如下:
缓和曲线转角公式:β
=
L2
2RLs
(2) 边桩坐标计算公式
左侧
XA=XP+T1cos(αAB± β-900) YA=YP+T1sin(αAB± β-900)
右侧
XB=XP+T2cos(αAB± β+900) YB=YP+T2sin(αAB± β+900)
*第二段缓和曲线计算边桩坐标时, 注意加减 90 度时, 与第一段缓和曲线相反。
2、 缓和曲线段 (1) 中桩坐标计算公式
Xp=X1+(L − Yp=Y1+(L −
L5 40R 2 Ls L5 40R 2 Ls
2 )cosαAB+(
L3 6RLs L3 6RLs
− −
L7 336R 3 ������s 3 L7 336R 3 ������s 3
)sin(αAB±900) )sin(αAB±900)
右侧
XB=XP+T2cos(αAB± β+900) YB=YP+T2sin(αAB± β+900)
第二章
公路导线测量计算
1
公路导线测量为附合导线测量,按路线前进方向测量右角。β
小白自学ExcelVBA道路坐标高程计算程序流程
小白自学ExcelVBA道路坐标高程计算程序流程1声明1.1 本人是个工作时间不长测量施工员。
1.2听说想轻松愉快的干好测量得学门编程,又听说ExcelVBA是个简单的可视化的常用的……1.3 本人很懒,面对厚厚的全是“昏天暗地”代码的ExcelVBA教科书籍,实在是没心没力。
其实俺还是懂点儿VB编程的(学校学过“=”是赋值,if、while、end的意思,嘿嘿,还有画窗体图框,其他的就都还给老师了)。
1.4 谷歌、度娘,是咱的好帮手。
1.5 仰望的存在,神一般的存在,无私的化身!道路中边桩坐标计算程序120424.xls(王中伟”教授”QQ:595077)曲线坐标计算程序VBA 4.6.xls(陈超”中铁”QQ:295188316)陈师傅的VBA代码乍一看感觉比王老师的让人头痛,怎么说咱们也是个有理想有目标的人,要啃就啃硬骨头!就选~~~嘿嘿~~~王老师的程序吧!1.6 道路中边桩坐标计算程序120424.xls代码获取。
王老师、陈师傅担心不懂编程的人,不小心修改代码导致程序错误,设置了vba密码(个人认为),其次我跟他们不熟,没有正大光明的要的密码,于是求助谷歌度娘,这个关于VBA 密码破解,于是很不厚道的得到了密码,为了方便本次学习,又很不厚道的把道路中边桩坐标计算程序120424.xls的密码贴出来(df750726),神人勿怪呀!2 代码理解ing…我们通过密码打开vba代码窗口,大家可以先把每个表格打开浏览一下代码,是不是感觉很短呀,感觉应该是超级链接的意思,嘿嘿,主要的代码在模块“lx”里,打开下,代码多吧,这就是咱们要肯的骨头。
现在咱们冲呀!2.1 第一段代码理解貌似第一段代码是定义的意思“定义π值”、'定义桩号点”、“'定义坡段”、“'定义基本曲线”①Public Const PI As Double = 3.14159265358979谷歌翻译:Public Const PI As Double公共常量PI 作为双精度浮点型百度百科:双精度浮点数双精度浮点数(Double)用来表示带有小数部分的实数,一般用于科学计算,用8个字节(64位)存储空间,其数值范围为1.7E-308~1.7E+308,双精度浮点数最多有15或16位十进制有效数字,双精度浮点数的指数用“D”或“d”表示。
王中伟--道路中边桩坐标计算程序120424
线
直 线 、曲 线 及 转 角 一 览 表
交点号 N(X) 1 2 交点坐标 E (Y) 3 4 交点桩号 5 偏 左 偏 角 值 右 偏 6 R 7 Ls1 8 曲 Ls2 9 线 要 T1 10 素 值 T2 11 ( m ) L 12 E 13 ZH 14 HY 15 曲 线 主 QZ 16 点 桩 号 YH 17 HZ 18 直 线 长 度 及 方 向 直线长度 19 交点间距 20 计算方位角 21 桩号 24 线元长度 25 起始半径 26
线
直 线 、曲 线 及 转 角 一 览 表
交点号 N(X) 1 2 交点坐标 E (Y) 3 4 交点桩号 5 偏 左 偏 角 值 右 偏 6 R 7 Ls1 8 曲 Ls2 9 线 要 T1 10 素 值 T2 11 ( m ) L 12 E 13 ZH 14 HY 15 曲 线 主 QZ 16 点 桩 号 YH 17 HZ 18 直 线 长 度 及 方 向 直线长度 19 交点间距 20 计算方位角 21 桩号 24 线元长度 25 起始半径 26
线
直 线 、曲 线 及 转 角 一 览 表
交点号 N(X) 1 2 交点坐标 E (Y) 3 4 交点桩号 5 偏 左 偏 角 值 右 偏 6 R 7 Ls1 8 曲 Ls2 9 线 要 T1 10 素 值 T2 11 ( m ) L 12 E 13 ZH 14 HY 15 曲 线 主 QZ 16 点 桩 号 YH 17 HZ 18 直 线 长 度 及 方 向 直线长度 19 交点间距 20 计算方位角 21 桩号 24 线元长度 25 起始半径 26
线
直 线 、曲 线 及 转 角 一 览 表
交点号 N(X) 1 2 交点坐标 E (Y) 3 4 交点桩号 5 偏 左 偏 角 值 右 偏 6 R 7 Ls1 8 曲 Ls2 9 线 要 T1 10 素 值 T2 11 ( m ) L 12 E 13 ZH 14 HY 15 曲 线 主 QZ 16 点 桩 号 YH 17 HZ 18 直 线 长 度 及 方 向 直线长度 19 交点间距 20 计算方位角 21 桩号 24 线元长度 25 起始半径 26
EXCEL进行中桩坐标、高程计算
用EXCEL进行中桩坐标、高程计算(铜汤高速第一合同段)测量计算、平差软件种类繁多,但无论什么软件都不能包罗万象,无法满足众多数据处理的需要,即使某种计算软件的功能非常齐全,但此类软件一般都是针对性开发的,而像小件坐标计算,例如承台坐标,则显得非常烦琐。
本文结合本项目介绍了应用EXCEL进行测量计算的方法和思路,并提供了一些常用的计算公式。
1、 EXCEL基本计算方法打开EXCEL后显示的表格,将相关数据依次输入到相应的表格上中。
当原始数据输入完毕后,再在需要显示结果的相应单元格内输入计算公式,EXCEL则会按照公式自动计算出结果,下面以两点坐标计算距离为例,简单说明下:第一步:在相应位置输入表头、序号、坐标后,图示1所示。
第二步在显示距离格内输入计算公式=SQRT((B4-D4)^2+(C4-E4)^2)并按回车,距离的结算结果就显示出来。
2、在测量计算中,最常见的是三角函数的处理。
EXCEL中备用的三角函数很齐全,但计算中是以弧度为单位来处理的,在计算中角度(度、分、秒)需要转换成弧度后,即可进行三角函数的计算了。
3、结合本项目分别介绍了直线、圆曲线、竖曲线的计算事例铜汤高速公路第一合同段,起点里程K78+060.618,终点里程K82+825,全长4764.4米,其中包括朱家畈大桥,水桥湖一桥、二桥三座桥梁。
全线平面首尾为直线段,中间由三段圆曲线连接,(后附全线平面图),计算原始数据取自设计文件第一册《直线、曲线及转角表》(图号为S3-4);全线包括6段竖曲线,其中凹、凸曲线各3段,计算原始数据采用设计文件第一册《路线纵断面图》(图号为S3-3)。
在表格中,桩号栏中的ZJF8、SQA7、SQB6分别代表朱家畈大桥8号墩中心,水桥湖一桥7号墩中心和水桥湖二桥6号墩中心。
坐标和高程的单位均为m,角度单位为弧度。
一、坐标计算方法:a、直线段:坐标增量法例如:第一段直线范围K78+060.618~K78+773.787坐标计算已知:BP点里程为K78+060.618,坐标(3412768.816,484851.623)起始方位角a=140°45′46.1″=2.456774421(弧度)计算直线范围内的K78+200坐标如下:在EXCEL表格中输入相应的表头和需要计算的里程后在C36格内输入公式=3412768.816+(B21-78060.618)* COS(2.456774421)在D36格内输入公式=484851.623+(B21-78060.618)* SIN(2.456774421)X=3412768.816+(78200-78060.618)×COS2.456774421=3412660.860Y=484851.623+(78200-78060.618)×SIN2.456774421=484939.787 图示:b、曲线段:偏角法第一段圆曲线K78+773.787~K79+524.582上坐标计算:起点(即ZY点)里程为K78+773.787,同时位于第一段直线上,可通过坐标增量法算出ZY点坐标为(3412216.442,485302.725);始方位角a=140°45′46.1″=2.456774421(弧度);曲线圆心在线路右侧,曲线半径R=4500m。
道路中边桩坐标计算EXCEL程序(120424版)
路线坐标计算软件
ROAD COORDINATE CALCULATING SOFTWARE
Copyright © 2001
版权所有 All Rights Reserved
1.本计算软件基于EXCEL开发,使用VBA编程,为保证顺利使用,请将宏安全性设为“中”;2.本软件适用于基本型曲线的道路的计算,但不适用于卵形曲线、立交匝道的计算;
3.作者开发有适用于卵形曲线、立交匝道计算的计算软件,需要者请与作者联系;
4.本软件供工程一线技术人员免费使用,但版权和改编权属于作者;
5.本软件使用简单,使用者有任何问题,可与作者联系,作者尽可能提供帮助;
6.用户若有支助意向,请与作者联系。
Excel 公路中线 坐标计算
:Excel 公路中线坐标计算现阶段我国公路工程中已普遍使用大地坐标进行线型的控制及测设,在施工中经常要对中线坐标进行复核、加密,才能满足公路工程施工的需要。
本文是结合公路工程的实际需要,利用Exce电子表格制作的用于由直线、圆曲线、缓和曲线组成的一般公路线型中桩、边桩等计算的通用模版,用于减轻计算工作的劳动强度和提高计算结果的准确度。
一、采用公式1 直线段1.1 中桩坐标计算公式1.2 边桩坐标计算公式2 缓和曲线段2.1 中桩坐标计算公式当P点位于顺时针方向时,其方位角为αE→p=αA→B+90°;当P点位于逆时针方向时,其方位角为αE→p=αA→B-90°。
2.2 边桩坐标计算公式3 圆曲线段3.1 中桩坐标计算公式当E点位于顺时针方向时取“+”,当E点位于逆时针方向时取“-”。
3.2 边桩坐标计算公式XP、YP——未知点P的坐标X1、Y1——各线型起点的坐标(第二曲线段为终点)XA、YA、XB、YB——P点边桩A点、B点的坐标(A为左侧、B为右侧)α1→2——直线段起点的方位角αA→B——各线形起点的切线方位角(第二曲线段为终点)L——P点距各线形起点的长度LS——缓和曲线段缓和曲线长R——各曲线段的半径β——P点的切线角(曲线左转时取“-”、曲线右转时取“+”)T1、T2——P点至边桩A、B的距离(A为T1、B为T2)二、计算模板的建立步骤表1-1表1-21.新建一个工作薄,在其中输入如表1所示的内容;2. 选中工作表A列,打开格式菜单,选中“单元格”,在单元格菜单中选中“数字”栏,自定义单元格格式为“K000+000.000”。
按此方法分别将其他列设置为如表1所示单元格格式;3. 将“4”行做为路线起点数据行,在“5”行中进行公式编辑;4.在“J5”单元格中输入“=IF(C5=4,RADIANS(IF((G5+H5/60+I5/60/60)<180,(G5+H5/60+I5/60/60)+180,(G5+H5/60+I5/60/60)-18 0)),IF(C5=5,RADIANS(IF(B5=0,G5+H5/60+I5/60/60-E5/2/D5*180/PI(),G5+H5/60+I5/60/60+E5/2/D5*180 /PI())),RADIANS(G5+H5/60+I5/60/60)))”;5.在“K5”单元格中输入“=A5-$A$4”;6.在“L5”单元格中输入“=$L$4+IF(C5=1,K5*COS(J5),IF(C5=2,2*D5*SIN(K5/2/D5)*IF(B5=0,COS(J5-K5/2/D5),COS(J5+K5/2/D5) ),IF(C5=3,(K5-K5^5/40/D5^2/E5^2)*COS(J5)+(K5^3/6/D5/E5-K5^7/336/D5^3/E5^3)*IF(B5=0,COS(J5-90 *PI()/180),COS(J5+90*PI()/180)),IF(C5=4,(K5-K5^5/40/D5^2/E5^2)*COS(J5)+(K5^3/6/D5/E5-K5^7/33 6/D5^3/E5^3)*IF(B5=0,COS(J5-90*PI()/180),COS(J5+90*PI()/180)),2*D5*SIN(K5/2/D5)*IF(B5=0,COS( J5-K5/2/D5),COS(J5+K5/2/D5))))))”;7.在“M5”单元格中输入“=$M$4+IF(C5=1,K5*SIN(J5),IF(C5=2,2*D5*SIN(K5/2/D5)*IF(B5=0,SIN(J5-K5/2/D5),SIN(J5+K5/2/D5) ),IF(C5=3,(K5-K5^5/40/D5^2/E5^2)*SIN(J5)+(K5^3/6/D5/E5-K5^7/336/D5^3/E5^3)*IF(B5=0,SIN(J5-90 *PI()/180),SIN(J5+90*PI()/180)),IF(C5=4,(K5-K5^5/40/D5^2/E5^2)*SIN(J5)+(K5^3/6/D5/E5-K5^7/33 6/D5^3/E5^3)*IF(B5=0,SIN(J5-90*PI()/180),SIN(J5+90*PI()/180)),2*D5*SIN(K5/2/D5)*IF(B5=0,SIN( J5-K5/2/D5),SIN(J5+K5/2/D5))))))”;8.在“N5”单元格中输入“=IF(B5=0,J5-RADIANS(IF(C5=2,K5/D5*180/PI(),IF(C5=3,K5^2/2/D5/E5*180/PI(),IF(C5=4,K5^2/2/D5 /E5*180/PI(),IF(C5=5,K5/D5*180/PI()))))),J5+RADIANS(IF(C5=2,K5/D5*180/PI(),IF(C5=3,K5^2/2/D5 /E5*180/PI(),IF(C5=4,K5^2/2/D5/E5*180/PI(),IF(C5=5,K5/D5*180/PI()))))))”;9.在“P5”单元格中输入“=IF(C5=4,L5+O5*COS(N5+90*PI()/180),L5+O5*COS(N5-90*PI()/180))”;10.在“Q5”单元格中输入“=IF(C5=4,M5+O5*SIN(N5+90*PI()/180),M5+O5*SIN(N5-90*PI()/180))”;11.在“S5”单元格中输入“=IF(C5=4,L5+O5*COS(N5-90*PI()/180),L5+O5*COS(N5+90*PI()/180))”;12.在“T5”单元格中输入“=IF(C5=4,M5+O5*SIN(N5-90*PI()/180),M5+O5*SIN(N5+90*PI()/180))”;13.选定“5行”向下复制到表格最后一行;14.点击“文件”菜单中的“另存为”选项,输入文件名为“坐标计算”在文件类型中选择为“模版”并点击“保存”。
EXCEL快速计算任何难度的道路中线、边线坐标
EXCEL快速计算任何难度的道路中线、边线坐标主程序Public i As IntegerPublic pi As DoubleSub TP()Dim ii As IntegerDim k(1000) As DoubleDim xzq, yzq, kq, xzh, yzh, kzh, xjd, yjd, kjd, khy, kyh As Double'直线区域pi = 3.14159265358979xzq = 71862.642yzq = 63474.651kq = 0 '因为直线连接终点为ZH点,与圆曲线起点为同一点,所以在直线区域不定义ZH点参数'直线区域'曲线区域xzh = 71858.3267yzh = 63375.2684kzh = 99.4763xhz = 71909.3687yhz = 63283.8076 '曲线区域定义内容有:ZH(坐标、里程)、HZ(坐标、里程)、JD(坐标、里程)khz = 212.3392 'R(半径)、LS(缓和曲线长度)、HY(里程)、YH(里程)xjd = 71855.658yjd = 63313.806kjd = 160.9966ls = 30r = 75khy = 129.4763kyh = 182.3385'曲线区域i = 2 '从第二格开始读取数据所以定义I=2ii = 1 '桩号从第一个开始启用,所以定义II=2Dok(ii) = Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 1) '定义桩号等于读取数据If Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 1) = "" Then Exit Do '当没有数据读取时退出循环If k(ii) < kq Then '若计算点超过计算起点给予提示并退出程序MsgBox ("猪啊!!你的输入的桩号居然超过计算起点桩号")Exit SubElseIf k(ii) <= kzh Then '若计算点在ZH点前,则进入直线程序Call zx(xzq, yzq, kq, xzh, yzh, kzh, k(ii))ElseIf kzh < k(ii) And k(ii) <= khy Then '若计算点在ZH和HY之间则调入前段缓和曲线程序Call qhhqx(xzh, yzh, kzh, xhz, yhz, khz, xjd, yjd, kjd, ls, r, k(ii))ElseIf khy < k(ii) And k(ii) <= kyh Then '若计算点在HY和YH之间则调入圆曲线程序Call yqx(xzh, yzh, kzh, xhz, yhz, khz, xjd, yjd, kjd, ls, r, k(ii))ElseIf kyh < k(ii) And k(ii) <= khz Then '若计算点在YH和HZ之间则调入后段缓和曲线程序Call hhhqx(xzh, yzh, kzh, xhz, yhz, khz, xjd, yjd, kjd, ls, r, k(ii))ElseMsgBox ("笨啊!!数据已超出计算范围了") '若出现超出范围的桩号则给与提示并退出程序Exit SubEnd Ifi = i + 1ii = ii + 1LoopEnd Sub直线模块Sub zx(ByV al xzq As Double, ByV al yzq As Double, ByV al kq As Double, ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ParamArray k())fw = fwj(xzh, xzq, yzh, yzq) '首先调入方位角程序计算直线方位角x = xzq + (k(ii) - kq) * Cos(fw) '然后根据桩号和长度计算出坐标值y = yzq + (k(ii) - kq) * Sin(fw)zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub圆曲线模块Sub yqx(ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ByV al xhz As Double, ByV al yhz As Double, ByV al khz As Double, ByV al xjd As Double, ByV al yjd As Double, ByV al kjd As Double, ByV al ls As Double, ByV al r As Double, ParamArray k())l = Abs(k(ii) - kzh) '计算ZH点(因为以直缓点起算)到待求桩号的弧度长度ly = l - ls / 2 '计算圆弧长度p = ls ^ 2 / 24 / r - ls ^ 4 / 2688 / r ^ 3 '曲线内移值m = ls / 2 - ls ^ 3 / 240 / r ^ 2 '曲线切线长增量u = r * Sin(ly / r) + m '偏量坐标计算v = r * (1 - Cos(ly / r)) + p'调入方位角fwq = fwj(xjd, xzh, yjd, yzh) '计算ZH点方位角fwh = fwj(xhz, xjd, yhz, yjd) '计算HZ点方位角(此角作用是用来推算曲线是左偏还是右偏)'调入偏角判定nq = n(fwq, fwh) '计算偏角方向,左偏为-1右偏为1'计算坐标x = u * Cos(fwq) - nq * v * Sin(fwq) + xzhy = u * Sin(fwq) + nq * v * Cos(fwq) + yzhd = (90 * (2 * l - ls) / pi / r) * pi / 180 '计算圆曲线上的偏角(此句要点为角度必须转换为弧度即:pi/180)fw = fwq + d * nq '计算前进方位角zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub前缓和段Sub qhhqx(ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ByV al xhz As Double, ByV al yhz As Double, ByV al khz As Double, ByV al xjd As Double, ByV al yjd As Double, ByV al kjd As Double, ByV al ls As Double, ByV al r As Double, ParamArray k())l = Abs(k(ii) - kzh) '计算测点到ZH点的距离u = l - l ^ 5 / 40 / r ^ 2 / ls ^ 2 + l ^ 9 / r ^ 4 / ls ^ 4 / 3456 '计算偏量v = l ^ 3 / 6 / r / ls - l ^ 7 / 336 / r ^ 3 / ls ^ 3'用公式二则以下两计算可省略(圆曲线和后缓和曲线也同理)Rem t = Atn(v / u)Rem s = Sqr(u ^ 2 + v ^ 2)'调入方位角计算fwq = fwj(xjd, xzh, yjd, yzh) '计算ZH点方位角fwh = fwj(xhz, xjd, yhz, yjd) '计算HZ点方位角(此角作用是用来推算曲线是左偏还是右偏)'调入偏角判定nq = n(fwq, fwh) '计算偏角方向,左偏为-1右偏为1'结果计算Rem x = xzh + s * Cos(fwq + nq * t)Rem y = yzh + s * Sin(fwq + nq * t)x = u * Cos(fwq) - nq * v * Sin(fwq) + xzh '经过测试,计算结果中的两种公式计算结果是一样的y = u * Sin(fwq) + nq * v * Cos(fwq) + yzhd = (90 * l * l / pi / r / ls) * pi / 180 '计算缓和曲线上的偏角(此句要点为角度必须转换为弧度即:pi/180)fw = fwq + d * nq '计算前进方位角zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub后缓和段模块Sub hhhqx(ByV al xzh As Double, ByV al yzh As Double, ByV al kzh As Double, ByV al xhz As Double, ByV al yhz As Double, ByV al khz As Double, ByV al xjd As Double, ByV al yjd As Double, ByV al kjd As Double, ByV al ls As Double, ByV al r As Double, ParamArray k())l = Abs(k(ii) - khz) '计算测点到HZ点的距离(后缓和曲线是以HZ点为起点)u = l - l ^ 5 / 40 / r ^ 2 / ls ^ 2 + l ^ 9 / r ^ 4 / ls ^ 4 / 3456 '计算偏量v = l ^ 3 / 6 / r / ls - l ^ 7 / 336 / r ^ 3 / ls ^ 3Rem t = Atn(v / u)Rem s = Sqr(u ^ 2 + v ^ 2)'调入方位角计算fwq = fwj(xjd, xzh, yjd, yzh) '计算ZH点方位角fwh = fwj(xhz, xjd, yhz, yjd) '计算HZ点方位角(此角作用是用来推算曲线是左偏还是右偏)'调入偏角判定nh = n(fwh, fwq) '计算偏角方向,左偏为-1右偏为1(注意:因为是从后HZ点起算,所以必须将HZ点方位角放在前ZH放在后)'结果计算Rem x = xzh + s * Cos(fwq + nq * t)Rem y = yzh + s * Sin(fwq + nq * t)x = xhz - (u * Cos(fwh) - nh * v * Sin(fwh)) '经过测试,计算结果中的两种公式计算结果是一样的y = yhz - (u * Sin(fwh) + nh * v * Cos(fwh))d = (90 * l * l / pi / r / ls) * pi / 180 '计算缓和曲线上的偏角(此句要点为角度必须转换为弧度即:pi/180)fw = fwh + d * nh '计算前进方位角zdfm = dfm(fw) '将弧度形式的前进方位角转换度分秒形式'输出坐标值以弧度和度分秒形式的前进方位角Workbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 2) = xWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 3) = yWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 4) = fwWorkbooks("单交点平曲线.xls").Worksheets("sheet1").Cells(i, 5) = zdfmEnd Sub偏角模块Function n(ByV al fw1 As Double, ByV al fw2 As Double) As Doublepj = fw1 + pi - fw2 '前进的右角pjIf pj - pi > 0 Then '当右角pj-pi 〉0时为左偏否则为右偏n = -1Else: n = 1End IfEnd Function方位角模块Function fwj(ByV al x1 As Double, ByV al x2 As Double, ByV al y1 As Double, ByV al y2 As Double) As Double'计算增量x0 = x1 - x2y0 = y1 - y2'由增量判断方位角所在象限,不同象限取不同的值If x0 = 0 And y0 > 0 Thenfwj = pi / 2 '当在大地坐标中偏量在X轴上的值时ElseIf x0 = 0 And y0 < 0 Thenfwj = 3 * pi / 2 '当在大地坐标中偏量在负X轴上的值时ElseIf x0 < 0 Thenfwj = Atn(y0 / x0) + pi '当在大地坐标中偏量在第二第三象限上的值时ElseIf x0 > 0 And y0 < 0 Thenfwj = Atn(y0 / x0) + 2 * pi '当在大地坐标中偏量在第四象限上的值时Elsefwj = Atn(y0 / x0) '当在大地坐标中偏量在第一象限上的值时End IfEnd Function度分秒模块Function dfm(ByV al ao As Double) As V ariantao = ao * 180 / pi '将弧度转化为度jd = Int(ao) '计算度jf = Int(ao * 60 - jd * 60) '计算分jmx = (ao - jd - jf / 60) * 3600 '计算秒jm = Left(jmx, 8) '因为拆分出来的秒数经常占到十多位,所以只取秒数的前八位dfm = jd & "°" & jf & "′" & jm & "″" '连接度分秒End Function边桩公式(此公式在电子表格中直接输入):=B2+J2*COS(D2+RADIANS(L2)+PI()) =C2+J2*SIN(D2+RADIANS(L2)+PI()) =B2+K2*COS(D2+RADIANS(M2)) =C2+K2*SIN(D2+RADIANS(M2))=B3+J3*COS(D3+RADIANS(L3)+PI()) =C3+J3*SIN(D3+RADIANS(L3)+PI()) =B3+K3*COS(D3+RADIANS(M3)) =C3+K3*SIN(D3+RADIANS(M3))=B4+J4*COS(D4+RADIANS(L4)+PI()) =C4+J4*SIN(D4+RADIANS(L4)+PI()) =B4+K4*COS(D4+RADIANS(M4)) =C4+K4*SIN(D4+RADIANS(M4))=B5+J5*COS(D5+RADIANS(L5)+PI()) =C5+J5*SIN(D5+RADIANS(L5)+PI()) =B5+K5*COS(D5+RADIANS(M5)) =C5+K5*SIN(D5+RADIANS(M5))=B6+J6*COS(D6+RADIANS(L6)+PI()) =C6+J6*SIN(D6+RADIANS(L6)+PI()) =B6+K6*COS(D6+RADIANS(M6)) =C6+K6*SIN(D6+RADIANS(M6))=B7+J7*COS(D7+RADIANS(L7)+PI()) =C7+J7*SIN(D7+RADIANS(L7)+PI()) =B7+K7*COS(D7+RADIANS(M7)) =C7+K7*SIN(D7+RADIANS(M7))=B8+J8*COS(D8+RADIANS(L8)+PI()) =C8+J8*SIN(D8+RADIANS(L8)+PI()) =B8+K8*COS(D8+RADIANS(M8)) =C8+K8*SIN(D8+RADIANS(M8))=B9+J9*COS(D9+RADIANS(L9)+PI()) =C9+J9*SIN(D9+RADIANS(L9)+PI()) =B9+K9*COS(D9+RADIANS(M9)) =C9+K9*SIN(D9+RADIANS(M9))=B10+J10*COS(D10+RADIANS(L10)+PI()) =C10+J10*SIN(D10+RADIANS(L10)+PI()) =B10+K10*COS(D10+RADIANS(M10)) =C10+K10*SIN(D10+RADIANS(M10))=B11+J11*COS(D11+RADIANS(L11)+PI()) =C11+J11*SIN(D11+RADIANS(L11)+PI()) =B11+K11*COS(D11+RADIANS(M11)) =C11+K11*SIN(D11+RADIANS(M11))=B12+J12*COS(D12+RADIANS(L12)+PI()) =C12+J12*SIN(D12+RADIANS(L12)+PI()) =B12+K12*COS(D12+RADIANS(M12)) =C12+K12*SIN(D12+RADIANS(M12))=B13+J13*COS(D13+RADIANS(L13)+PI()) =C13+J13*SIN(D13+RADIANS(L13)+PI()) =B13+K13*COS(D13+RADIANS(M13)) =C13+K13*SIN(D13+RADIANS(M13))=B14+J14*COS(D14+RADIANS(L14)+PI()) =C14+J14*SIN(D14+RADIANS(L14)+PI()) =B14+K14*COS(D14+RADIANS(M14)) =C14+K14*SIN(D14+RADIANS(M14))=B15+J15*COS(D15+RADIANS(L15)+PI()) =C15+J15*SIN(D15+RADIANS(L15)+PI()) =B15+K15*COS(D15+RADIANS(M15)) =C15+K15*SIN(D15+RADIANS(M15))=B16+J16*COS(D16+RADIANS(L16)+PI()) =C16+J16*SIN(D16+RADIANS(L16)+PI()) =B16+K16*COS(D16+RADIANS(M16)) =C16+K16*SIN(D16+RADIANS(M16))=B17+J17*COS(D17+RADIANS(L17)+PI()) =C17+J17*SIN(D17+RADIANS(L17)+PI()) =B17+K17*COS(D17+RADIANS(M17)) =C17+K17*SIN(D17+RADIANS(M17))=B18+J18*COS(D18+RADIANS(L18)+PI()) =C18+J18*SIN(D18+RADIANS(L18)+PI()) =B18+K18*COS(D18+RADIANS(M18)) =C18+K18*SIN(D18+RADIANS(M18))=B19+J19*COS(D19+RADIANS(L19)+PI()) =C19+J19*SIN(D19+RADIANS(L19)+PI()) =B19+K19*COS(D19+RADIANS(M19)) =C19+K19*SIN(D19+RADIANS(M19))=B20+J20*COS(D20+RADIANS(L20)+PI()) =C20+J20*SIN(D20+RADIANS(L20)+PI()) =B20+K20*COS(D20+RADIANS(M20)) =C20+K20*SIN(D20+RADIANS(M20))=B21+J21*COS(D21+RADIANS(L21)+PI()) =C21+J21*SIN(D21+RADIANS(L21)+PI()) =B21+K21*COS(D21+RADIANS(M21)) =C21+K21*SIN(D21+RADIANS(M21))=B22+J22*COS(D22+RADIANS(L22)+PI()) =C22+J22*SIN(D22+RADIANS(L22)+PI()) =B22+K22*COS(D22+RADIANS(M22)) =C22+K22*SIN(D22+RADIANS(M22))=B23+J23*COS(D23+RADIANS(L23)+PI()) =C23+J23*SIN(D23+RADIANS(L23)+PI()) =B23+K23*COS(D23+RADIANS(M23)) =C23+K23*SIN(D23+RADIANS(M23))呵呵,这个就是传说已久的EXCEL自动计算曲线坐标.给大家研究研究.欢迎在此基础上开发增加新模块。
EXCEL辅助计算公路中桩与边桩参数的应用
EXCEL辅助计算公路中桩与边桩参数的应用- 水利施工简介:在现今的道路桥梁建设中,全站仪以其高精度、高效率的特点,在测量放样中得到广泛的应用,它将传统的二维测量提升到了三维测量的高度。
但大量的坐标计算加重了测量人员的工作强度,也影响了全站仪的使用效率。
本人根据《公路工程施工测量》提供的FX-4500程序,利用EXCEL函数与逻辑循环语来计算公路中桩及边桩参数,大大提高了计算的可靠性和速度。
关键字:EXCEL 计算公路中桩公路边桩一、前言在当前的高速公路施工中,全站仪以其高精度、使用简便的特点在施工测量放样中得到广泛的应用。
它的使用还有一个意义,它将测量从传统的二维测量提升到三维测量的高度,使测量效率大为提高。
全站仪使用时需计算大量的坐标,坐标的正确和精度直接关系到测量结果的准确度;另外,对于现场计算的坐标,能否迅速的得出结果也会影响全站仪的使用效率,所以准确、快速的坐标计算也是全站仪使用中的关键一环。
坐标的计算涉及到大量的数据和公式,计算时极易出错。
测量中使用最多、计算最为复杂的是公路中桩、边桩坐标和方位角,其他的施工测量都是以此作为参照,经过简单运算即可得结果。
现测量员普遍采用可编程计算器帮助计算,使用前需根据不同的计算器特性输入程序,计算时根据不同的路段选择不同的程序输入参数,逐个得到坐标或方位角,还得反复校核。
这对于大批量计算来说是一个不小的工程。
现在,电脑在施工单位已得到使用普及,在工程量及数测量数据处理过程中,Office中EXCEL 经常是测量技术人员利用的工具。
本人根据本人从2002年至2005年的利用电脑处理测量资料的经验结合EXCEL的强大功能,总结出了用电脑计算公路中桩、左侧、右侧坐标的可行方法,并利用EXCEL 的逻辑语句编制了一个小的应用程序。
希望能把测量人员从重复性的劳动中解脱出来。
二、工作原理1.应用程序的目标上文已讲到施工测量中使用最多、计算最为复杂的是公路中线逐点坐标和切线方位角,既中桩的X值、Y值。
利用EXCEL进行道路中边线逐桩坐标计算
利用EXCE L 进行道路中边线逐桩坐标计算张宝利1,薛志勤2(1.西北农林科技大学资源与环境学院,陕西杨凌 712100;2.华南农业大学信息与软件学院,广州 510642)摘要:利用坐标增量的基本思想,将道路曲线坐标的计算归结为3种最基本的形式———直线段、圆曲线段、缓和曲线段,直接计算出中、边线的测量坐标,省去了切线支距法坐标向测量坐标的转换过程,简化了计算思路,节约了计算量。
并利用办公软件Excel 的强大计算功能进行实例计算。
关键词:Excel;道路边线;道路中线;逐桩坐标;圆曲线;缓和曲线中图分类号:U452.1文献标志码:B文章编号:1672-741X (2008)03-0302-03Calcul ati on of Coordi n ates of St akes on Centerli n e and Si deli n e Usi n g ExcelZHANG Baoli 1,XUE Zhiqin2(1.College of R esou rces and Environm en t,N orthw est A &F U niversity,Yangling 712100,Shanxi,Ch ina;2.College of Infor m ation and S oft w are,S outh China A gricultural U n iversity,Guangzhou 510642,China )Abstract:The coordinate calculati on of the high way curves is divided int o three basic types,i .e .,straight secti on,cir 2cular curve and transiti on curve,on basis of the coordinate incre ment p rinci p le .W ithout coordinate transf or mati on,the survey coordinates of the stakes on the alignment of the centerline and sideline are directly worked out,which si m p lifies the calculati on p rinci p le and reduces the calculati on quantity .Further more,coordinate calculati on is made f or p r oject cases by using the str ong calculati on functi ons of Excel .Key words:Excel;high way sideline;highway centerline;coordinates of stakes;circular curve;transiti on curve不论是在铁路还是公路的设计和建设中都不可避免地遇到大量的曲线计算。
用Excel程序快速计算公路工程逐桩坐标
用Excel程序快速计算公路工程逐桩坐标H现代公路IGHWAY用Excel程序快速计算公路工程逐桩坐标文/左卿引言在公路工程设计及施工过程中,逐桩坐标的计算是一项必不可少的工作,尤其近些年随着全站仪的普及使用,坐标放样法因速度快、精度高而被广泛应用,逐桩坐标计算的工程量也因此而大大增加。
例如:某高速公路某一合同段有20公里的路基,按照常规的设计及施工方法,不考虑曲线加桩,按每20m一个断面,每个断面左右幅2个点,那么需要计算1000个点2000个坐标。
如此大的计算量假如采用传统的计算器计算,不仅费时,还难免出错。
笔者从事多年施工工作,针对这一情况,利用Microsoft Office中的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,程序设计程序设计初步打开Microsoft Office Excel2022,新建工作表book1,并将其命名为“公路工程逐桩坐标计算表”。