求卡西欧5800计算器道路正反算程序

求卡西欧5800计算器道路正反算程序,第1张

说明:本程序适用于计算器 CASIO fx-5800P,可计算:第一夹直线段、第一缓和曲线段、圆曲线段、第二缓和曲线段、第二夹直线段的线路中、边桩坐标及切线方位角,反算里程和偏距。数据库名:YTGoto 1Lbl 1:If Z<10000:Then 3378226.731→U:456053.721→V:3373351.385→N:458628.379→E:9557.84→D:2040→R:260→S:280→T:-14°18ˊ10″→A:Return:IfEndLbl 1:If Z<………………………………………………………………………………………………………………Lbl 1:If Z<本交点HZ里程或下个交点ZH里程:Then 前交点坐标X→U:前交点坐标Y→V:本交点坐标X→N:本交点坐标Y→E:交点里程→D:曲线半径→R:第一缓和曲线长→S:第二缓和曲线长→T:转角→A:Return:IfEndLbl 1每增加一行则为增加一个交点要素,……表示下一个交点要素。注:1、◢ 为显示指令。2、 ↙为回车(EXE)标识。3、()括号内为注解不用输入。计算参数:1=>XY

2=>DK

J? 2(输入1表示调用数据库,输入2表示手动输入数据)

1、QJD(X)=? 3378226.731(前交点坐标X)

2、QJD(Y)=? 456053.721(前交点坐标Y)

3、JD(X)=? 3373351.385(本交点坐标X)

4、JD(Y)=? 458628.379(本交点坐标Y)

5、JD(DK)=? 9557.84(本交点里程)

6、R=? 2040(曲线半径)

7、LS1?= 260(第一缓和曲线长)

8、LS2?= 280(第二缓和曲线长)

9、α?= -14°18ˊ10″(转角)

10、JSDK?= 9500(计算里程)

11、W?= 10(偏距:左为负,有为正数)

12、α?= 90(偏角)

………………………………

13、FWJ=146°34ˊ4.38″(切线方位角)

14、X= 3373402.498(计算结果坐标X)

15、Y= 458602.6783(计算结果坐标Y)

16、ZH=09+170.838,X=3373693.598,Y=458447.6569,FWJ=152°9′41.68″

17、HY=09+430.838,X=3373466.361,Y=458573.9060,FWJ=148°30′37.36″

18、QZ=09+550.461,X=3373366.244,Y=458639.3431,FWJ=145°9′2.25″

19、HY=09+670.084,X=3373270.134,Y=458710.5365,FWJ=141°47′27.15″

20、HZ=09+950.084,X=3373058.317,Y=458893.5689,FWJ=137°51′31.68″资料地址: https://skydrive.live.com/?cid=23F98B07A5CC3A18&id=23F98B07A5CC3A18%213143

计算平曲线的话用我这个吧

公路路线座标正反算(积分公式)通用程序 公路路线座标正反算

作者:李艳阳

由于现在计算机普及,计算机功能日益强大,宜采用较简单的积分公式,便于计算机处理。

单线元通用积分公式如下M = (1.0/Re-1.0/Rs)/Ls

x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L}

y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L}

a(i)= Ta +L/Rs + 0.5*M *L*L

Rs:缓和曲线起点半径

Re:缓和曲线止点半径

Rs,Re (NE坐标系下,右偏为正,左偏为负)

Ta:缓和曲线起点的真北方位角

Ls:不完整缓和曲线长度。

此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全适应缓和曲线左偏、右偏、Rs >Re 、Rs <Re等各种情况,不必先凑成完整缓和曲线,降低算法的复杂程度。虽然此公式是由缓和曲线推导出来,也可和于直线与圆曲线,可降低计算机编程的复杂程度。

Fx-5800计算机程序

QXJS-000 主程序

Lbl 4:“1.SZ=>NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙

Lbl 0:Q=1 =>Goto1:Q=2 =>Goto2:↙

Lbl 1:?Z:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢:Goto4↙

Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢ “Z=”:Z◢ Goto4↙ QXJS-SUB0 数据库子程序

Goto1↙ 同时保存多个曲线时的指针

Lbl 1↙

IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙

IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙

………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。

QXJS-SUB1 正算子程序

0.5(1÷R-1÷P)÷L→D:S-O→X↙

U+∫(cos(A+(X÷P+DX平方)×180÷π,0,X)→N↙

V+∫(sin(A+(X÷P+DX平方)×180÷π,0,X)→E↙

A+(X÷P+DX平方)×180÷π→F↙

N+Zcos(F+90) →N:E+Zsin(F+90) →EQXJS-SUB2 反算子程序

Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙

Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S↙

Abs(W)>0.0001 =>Goto1↙

Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+90) →Z

三、使用说明

1、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时,P、R取负值,当曲线半径在右时,P、R取正值,当曲线半径为无穷大(即直线)时,P、R以10的45次代替。

(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右

侧时,Z取正值。

(3) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆

弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的

值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等

于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。2、输入与显示说明

输入部分: 1. SZ =>XY

2. XY = >SZ

Q ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11136625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存