卡西欧公路坐标正反算程序.docx
《卡西欧公路坐标正反算程序.docx》由会员分享,可在线阅读,更多相关《卡西欧公路坐标正反算程序.docx(16页珍藏版)》请在冰豆网上搜索。
卡西欧公路坐标正反算程序
Coca-colastandardizationoffice【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】
卡西欧公路坐标正反算程序
一、坐标正算基本公式………………………………………………………02
二、坐标反算原理………………………………………………………04
三、高程数据库录入变换…………………………………………………05
四、计算器程序………………………………………………………07
01、ZBZS(坐标正算)………………………………………………………07
02、ZBFS(坐标反算)………………………………………………………08
03、GCJF(高程积分)………………………………………………………09
04、PJFY(坡脚放样)………………………………………………………10
05、JFCX(积分程序)………………………………………………………11
06、ZBFY(坐标放样)………………………………………………………11
07、DT(递推)………………………………………………………12
08、HP(横坡)………………………………………………………13
09、LK(路宽)………………………………………………………14
10、SJK1(平面数据库)………………………………………………14
11、SJK2(纵面数据库)………………………………………………14
12、SJK3(左路宽度数据库)………………………………………………15
13、SJK4(右路宽度数据库)………………………………………………15
14、SJK5(横坡数据库)………………………………………………16
15、SJK6(下边坡数据库)………………………………………………16
16、SJK7(左上边坡数据库)………………………………………………17
17、SJK8(右上边坡数据库)………………………………………………18
五、后记……………………………………………………………………19
CASIO5800计算器公路工程测量程序
一、正算所涉及的计算公式
图表1
在图1中,A点为回旋曲线起点,B点为回旋曲线止点,I点为所求坐标点。
设:
A点的X坐标为XA,Y坐标为YA,A点的切线方位角为α,A点的曲率为ρA,A点的里程为LA,B点的曲率为ρB,B点的里程为LB,I点的曲率为ρI,I点的里程为LI。
I点的切线角为β。
由于回旋线上各点曲率半径Ri和该点至曲线起点的距离L成反比。
故此任意点的曲率为;
(c为常数)
(1)
由式
(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为Li点的曲率为;
(2)
当曲线右偏时ρB、ρA取正值,反之取负值。
设:
------曲率变化率(3)
------I点至起点A的距离(4)
则有:
(5)
在I点处取一微段,则有:
(单位为弧度)(6)
对上式进行积分并代入式(3)(4),则有;
(7)
因已知回旋曲线起点A的切线方位角α,则里程为Li点的切线方位角为:
(8)
将式(7)代入式(8)得:
(单位为弧度)(9)
对于式(9),当ρA=0,M=0时,则αi=α,式(9)变成计算直线段上任意点切线方位角的计算公式;当ρA=c(c为常数),M=0时,则αi=α+ρAL,式(9)变成计算圆曲线上任意点切线方位角的计算公式。
由图1中不难得出回旋曲线上任意点在路线坐标系下的坐标:
(10)
将式(9)代入式(10),即得本次编程计算基本公式:
(11)
二、反算原理
图表2
在图2中,A点为已知坐标而待求对应中桩桩号及边距的点。
B点为假定的A点对应中桩桩号点。
显然,B点并不对应于A点。
做出B点的切线,过A点做辅助线垂直于B点的切线,相交于C点。
设:
B点的切线方位角为α,B点的桩号为KB,B点的坐标分别为XB、YB,A点的桩号为KA,A点的坐标分别为XA、YA,“B-A”的方位角为β,“B-A”的距离为N,“B-C”的距离为L,“C-A”的距离为Z。
根据前面的坐标正算的公式可以得到α,XB、YB值。
根据计算器内置的Pol(XA-XB,YA-YB)公式(直角坐标转换为极坐标)能得到β,N值。
(1)
(2)
当L=0时,B点是对应于A点的,KB=KA,Z即为A点的距中桩的距离。
当L≠0时,则采用KB=KB+L,对B点进行新的假定,进而再次对L进行解算,直至L=0,或则L值在容许误差范围之内。
三、高程数据库录入变换计算
β
图表3
为利用前面已知的积分公式对高程进行求算,故需对设计给定的纵断面数据进行换算。
如图3中所示,以高程H轴代替平面坐标系的X轴,以里程L代替平面坐标系的Y轴,以H轴为起点,顺时针方向旋转而得到方位角α。
由设计图中已知数据为:
纵坡i,竖曲线半径R,坡长L等。
根据通用的纵断面高程计算公式,容易解算出每个线形变化点的里程及高程,即图3中,A、B、C、D点的“H、L”值。
由于纵坡坡度所采用的为坡度值,即:
(1)
利用反三角函数,即能解算出以L轴为起点,逆时针方向旋转的角值β。
(2)
显然:
(3)
同时结合平面线元,凸曲线可以看为右偏线元,曲率取正值。
反之为负值。
图表4
由于积分程序代入运算的为坡线长度,即上图中的的0A、AB,而已知里程为水平距离,即上图中的0A’、A’B’。
所以在计算出起点积分运算的基本要素:
图3中的(α,H,L)后,我们需将水平距离L换算为坡线长度L’或弧线长度L~。
直线换算比较简单,利用三角函数即能得出下式:
(4)
竖曲线形式,一般采用二次抛物线或圆曲线,在圆心角很小而半径相对较大的使用范围内,二者的吻合是良好的。
以下推导采用圆曲线作为竖曲线的形式。
在图4中,A点为线元起点(直线OA与圆弧AB的切点),B点为待求弧长点,F点为曲线对应圆心。
根据互余角相等原理得出:
运用三角函数计算得出:
;
根据圆曲线方程:
得出:
根据图示:
利用反三角函数:
从而:
根据弧长计算公式得:
(5)
四、卡西欧5800程序;
1、文件名:
“ZBZS”(坐标正算)
"KI="H:
(输入计算点桩号并赋值于变量H)
Prog"SJK1":
(进入数据库1中读取数据)
Prog"JFCX":
(进入积分程序进行运算)
"BL="P:
(输入计算点距中桩距离并赋值于变量P,左为“-”,右为“+”。
如果需要计算设计路幅宽度“加宽段”,则计算左幅时输入“-1”,右幅为“+1”)
IFABS
(1)=1:
(如果路宽的绝对值为1,则计算设计路幅宽度)
THENPROG”LK”:
(进入路宽程序计算出路幅宽度值)
“BS=”:
EP→P◢(对路幅宽度代入±号以区分左右)
“BL=”:
P:
(是否对边距重新赋值,如路堑墙,即边距等于路幅宽度加上水沟宽度)
IFEND:
(判断结束)
"X=":
S+PCos(W+90)→U◢(显示边桩X坐标并赋值于变量U,可对90度进行调整,如斜交30度或其他,但是角度不分左右,即90度=-90度=270度)
"Y=":
T+PSin(W+90)→V(显示边桩Y坐标并赋值于变量V)
PROG”GCJF”:
(进入高程积分程序,计算设计高程)
PROG”HP”:
(进入横坡计算程序,计算横坡)
“H=”:
S+ABS(E)F→Q(显示计算点设计高程,设计高程加上横坡高差)
2、文件名:
“ZBFS”(坐标反算)
"KI="H:
(输入假定桩号并赋值于变量H)
"XI="V:
(输入反算点X坐标并赋值于变量V)
"YI="Y:
(输入反算点Y坐标并赋值于变量Y)
"HI="Z:
(输入反算点高程并赋值于变量Z)
Lbl0:
(转移起点命令)
Prog"SJK1":
(进入数据库1中读取数据)
Prog"JFCX":
(进入积分程序进行运算)
Pol(V-S,Y-T)→N:
(将直角坐标转换为极坐标并将极经赋值于变量N)
J→U:
(将极角赋值于变量U。
注意:
在Pol()函数中,计算生成的r值被自动赋值于I,θ值被赋值于J)
NCos(U-W)→R:
(计算假定桩号的偏差并赋值于变量R)
Abs(R)≤=>Goto1:
(判断语句,如果R的绝对值小于容许误差则程序跳转至Lbl1处运行,否则将顺序运行)
H+R+→H:
(对假定桩号H值重新赋值,此处增加的:
“+0.001”是为了避免直线段计算中桩时出现Pol(0,0)的错误。
)
Goto0:
(程序跳转入Lbl0处重新开始运行)
Lbl1:
(转移起点命令)
"KI=":
H◢(显示解算出来的桩号)
"BL=":
NSin(U-W)→P◢(计算反算点至中桩距离并赋值于变量P,右为+)
Prog"GCJF":
(进入高程积分程序进行运算)
PROG”LK”:
(进入路宽程序,计算路幅宽度)
IFP≥0:
(如果反算边距大于0,即右幅)
THEN“BL0=”:
P-E→G◢(反算点距离右边线距离,+为超挖,-为欠挖)
ELSE“BL0=”:
ABS(P)-E→G◢(反算点距离左边线距离,+为超挖,-为欠挖)
IFEND:
(判断结束)
PROG“HP”:
(进入横坡计算程序,计算反算点横坡)
IFABS(P)≤E:
(如果反算点在路幅内,则计算该点挖填,反之则计算该点对应路幅边缘点挖填,并赋值于Q变量)
THEN“ZI=”:
(S+ABS(P)F)-Z→Q:
ELSE“ZI=”:
(S+ABS(E)F)-Z→Q:
IFEND(判断结束)
3、文件名:
“GCJF”(高程积分)
Prog"SJK2":
(进入数据库2调用数据)
H-F→X:
(计算水平距离并赋值于变量X)
IfD=0:
(根据曲率判断直线或圆曲线)
ThenAbs(X÷C0S(90-C))→X:
(如果为直线则计算坡线长并赋值于变量X)
ElseCOS(C)÷Abs(D)→B:
(如果为曲线,则开始计算弧长,具体参照第三节理解)
Sin(C)÷Abs(D)→E:
(参照第三节理解)
√((1÷D)2-(X-B)2)→G:
(参照第三节理解)
tan-1((G-E)÷X)→T:
(参照第三节理解)
πAbs(90-C-T)÷90÷Abs(D)→X:
(计算出弧长并赋值于变量X)
IfEnd:
(条件判断结束)
A+∫(Cos(C+DrX2),0,X)→S:
(计算设计高程值并赋值于S)
4、文件名:
“PJFY”(坡脚放样)
Prog"ZBFS"◢(执行坐标反算程序,并显示)
PROG“LK”:
(执行路宽程序)
IFQ≥0:
(如果为填方,则进入SJK6,调用下边坡数据)
THENPROG“SJK6”:
ELSEIFQ<0ANDP<0:
(如果为挖方,且在路左,则调用左侧上边坡数据)
THENPROG”SJK7”:
ELSEPROG”SJK8”:
(调用右侧上边坡数据)
IFEND:
(第二判断结束)
IFEND:
(第一判断结束)
Abs(Q)≤B=>E+Abs(Q)A→Z:
(高差小于第1级坡高时,计算理论平距并赋值于变量Z)
Abs(Q)≤(B+F)AndAbs(Q)>B=>E+AB+C+(Abs(Q)-B)D→Z:
(高差小于第2级坡高时,计算理论平距并赋值于变量Z)
Abs(Q)≤(B+F+L)AndAbs(Q)>(B+F)=>E+AB+C+DF+G+(Abs(Q)-B-F)K→Z:
(高差小于第3级坡高时,计算理论平距并赋值于变量Z)
Abs(Q)>(B+F+L)=>E+AB+C+DF+G+K