可以给我个卡西欧5800计算器公路高程计算程序吗

可以给我个卡西欧5800计算器公路高程计算程序吗,第1张

坐标正反算,程序模块化设计,可自行升级,扩展功能)

建议录入程序次序

KEYLOCK  锁键程序 可独立测试能正常运行 1

DISPLAYXYZ 主程序可独立测试能正常运行 2

READDAT要素数据库文件 (请改为自已路线的要素) 3

ZBJS  坐标计算程序 4

INZHANDZBJS桩号、横距输入程序 5

TURNZH 坐标反算6

INNEZ  实测坐标输入程序7

如正确输入以上程序,运行DISPLAYXYZ,按“0”进行坐标反算,按“.”进行坐标正算。

技术支持:Q285507730

FileName:INZHANDZBJS

//:桩号、横距输入程序://

Lbl S

Cls:Norm 1

"ZH"?G桩求桩号

"JL"?B 输入横向距离

"JJ"?W 输入斜桩角,一般为90

Wπ÷180→W

Prog"ZBJS" 080702晚添加

Return

FileName:ZBJS 坐标计算程序

Prog"READDAT"

Rad

G-M→Q

0.5(R-A)÷L→K

AQ→I

KQ2→J

0.0469100770→P:H+IP+JP2→O

0.2307653449→P:H+IP+JP2→T

0.5→P :H+IP+JP2→D

0.7692346551→P:H+IP+JP2→F

0.9530899230→P:H+IP+JP2→P

0.1184634425→I

0.2393143352→J

0.2844444444→Y

N+Q(ICos(O)+JCos(T)+YCos(D)+JCos(F)+ICos(P))→X

E+Q(ISin(O)+JSin(T)+YSin(D)+JSin(F)+ISin(P))→Y

H+AQ+KQ2→F

X+BCos(F+W)→X

Y+BSin(F+W)→Y

Return

FileName:TURNZH(坐标反算)

Prog"INNEZ"

0→B:M+L÷2→G:Prog"ZBJS"

Lbi S:Rad

U-X→I:V-Y→J

If I=0 And J=0 :Then Goto A:IfEnd

Pol(I,J)

Lbi A:Rec(I,J-F)

G+I→G:IF Abs(I)>0.0001 :Then Prog"ZBJS":Goto S↙

J→B

FileName:INNEZ 实测坐标输入程序

Lbl S

Norm 1:Cls

"DQD-N"?U 输入待求点N坐标

"DQD-E"?V输入待求点E坐标

Return

FileName:KEYLOCK

//:本程序用于锁定键盘大部分按键,设定时间内无按键则反回默认健。只有“0”,“.”,“x10x”,“(-)”这四个键可用,为了更方便说明程序,以后将分别定义这四个键为热键

“0”===F1

“.”===F2

“x10x” ===F3

“(-)” ===F4

Exit退出程序

://

1000→J 无按键时间,5800设1000时大约为50秒。

Lbl S

0→I

Do:I+1→I:I≥J=>Goto E:LpWhile Not(Getkey=25 Or Getkey=26 OrGetkey=27 OrGetkey=57 OrGetkey=73)

Getkey=73=>Stop 停止全部程序

Getkey=0=>Goto S

Getkey→I:Return

Lbl E

57→I:Retrutn 默认按键值为F4

FileName:DISPLAYXYZ

//:<主程序>,显示:桩号,N,E,Z,横向偏移。

热键功能

F1 快捷坐标反算

F2 快捷坐标正算

F3

F4

://

7→DimZ

Z[1]→N 当前分段要素N坐标

Z[2]→E 当前分段要素E坐标

Z[3]→M 当前分段要素起点桩号

Z[4]→H 当前分段要素起点方位角(正北)单位:弧度

Z[5]→A 当前分段要素起点曲率有左偏负右偏正(注意不是半径)

Z[6]→R 当前分段要素终点曲率有左偏负右偏正(注意不是半径)

Z[7]→L 当前分段要素长度

Lbl S:Cls:Fix 3

"ZH=":Locate 4,1,G

"N=":Locate 3,2,X

"E=":Locate 3,3,Y

"Z":Locate 2,4,Z 注意,本程序无高程计算。所以这句无意义。

Locate 10,4,B

Prog "KEYLOCK"

If I=25:Then Prog "TURNZH":Goto S:IfEnd 定义F1功能

If I=26:Then Prog "INZHANDZBJS":Goto S:IfEnd 定义F2功能

Goto S

FileName:READDAT 要素数据库文件

π÷180→J

GM+L=>Goto 1

Return

Lbi 1

If G<30008.396:Then Cls:Stop:IfEnd↙ 判断待求桩号是否小于本要素起点,如小于就停止运行程序

If G<30661.038(终点里程):Then 2851422.090(起点X)→N:513896.440(起点Y)→E:30008.396→M:213°32′52″J(起点方位角)→H:0 (起点曲率)→A:0(终点曲率)→R:652.642起点至终点长度→L:Goto E:IfEnd↙

If G<30921.038:Then 2850878.162→N:513535.768→E:30661.038→M:213°32′52″J→H:0→A:1÷1300→R:260→L:Goto E:IfEnd↙

If G<31426.367:Then 2850666.478→N:513385.004→E:30921.038→M:219°16′39″J→H:1÷1300→A:1÷1300→R:505.328→L:Goto E:IfEnd↙

If G<31686.367:Then 2850346.483→N:512998.015→E:31426.367→M:241°32′56″J→H:1÷1300→A:0→R:260→L:Goto E:IfEnd↙

If G>31686.367:Then Cls:Stop:IfEnd↙ 判断待求桩号是否大于本要素终点,如大于就停止运行程序

Lbi E

N→Z[1]:E→Z[1]:M→Z[3]:H→[4]:A→Z[5]:R→Z[6]:L→Z[7] 记忆当前要素以免重复搜索

Return

FX4800P常用测量程序集

1、由一个已知点坐标和一个已知方位角计算支导线坐标(程序名:ZBJS)

程序清单:

X:Y:T:Lb1 0:Fixm:{AS}:T=T+A-180:T〈0 =〉T=T+360⊿ T〉360 =〉T=T-360⊿T◢

X=X+Scos T◢

Y=Y+Ssin T◢

Goto 0

程序运行说明:

运行“ZBJS”,每运行一步按EXE键一次,显示X?时输入已知点X坐标,显示Y?时输入已知点Y坐标,显示T?时输入已知点由后视到前视的已知坐 标方位角,运行一次本程序只需输入一次已知数据。显示A?时输入第一个左转角值,显示S?时输入测站到前视的水平距离。接下来计算器显示的T是测站到前视的坐标方位角,按 +可将显示的十进制角度换算为度分秒。如此继续可计算出所有支导线未知坐标。

2、由两个已知点坐标计算支导线坐标(程序名:ZBJS2)

程序清单:

M“X0”:N“Y0”:D“XH”:E“YH” �6�8

Pol(M-D,N-E):Fixm:T=J:X=M:Y=N:T〈0=〉T=T+360⊿T“TH-J=” ◢

I“S=”◢

Lb1 0:{AS}: T=T+A-180:T〈0 =〉T=T+360⊿ T〉360 =〉T =T-360⊿T◢

X=X+Scos T◢

Y=Y+Ssin T◢

Goto 0

程序运行说明:

运行后,显示X0,Y0时输入已知置镜点坐标,显示XH,YH时输入已知后视点坐标,其它同ZBJS的输入与显示。

3、由一个已知点坐标和一个已知方位角进行放射型导线坐标计算(程序名FSXZBJS)

程序清单:

C“X0”:D“Y0”:E“T0”:Fixm:Lb1 1:{SA}�6�8

T=E+A-180:T〈0=〉T=T+360⊿ T〉360 =〉T=T-360⊿T◢

X=C+Scos T◢

Y=D+Ssin T◢

Goto 1

程序运行说明:

变量输入参照ZBJS程序。

4、由两个已知点坐标进行放射型导线坐标计算(程序名FSXZBJS2)

M“X0”:N“Y0”:D“XH”:E“YH” �6�8

Pol(M-D,N-E):Fixm:F=J:X=M:Y=N:F〈0=〉F=F+360⊿F“TH-J=” ◢

I“S=” ◢

Lb1 1:{SA}�6�8

T=F+A-180:T〈0=〉T=T+360⊿ T〉360 =〉T=T-360⊿T◢

X=X+Scos T◢

Y=Y+Ssin T◢

Goto 1

5、坐标计算优化程序(可进行连续式(LX)、放射式(FS)已知一点(1-D)或者两点(2-D)进行坐标计算):

V“1=>LX,≠>FS”:W“1 =>1-D≠>2-D”:W=1=>Goto 1:≠>Goto2�6�8

Lb1 1:F“X0=”:G“Y0=”:H“T H-0=”:Goto 3�6�8

Lb1 2:F“X0=”:G“Y0=”:M“XH=”:N“YH=”:Pol(F-M,G-N):Fixm: J〈0=〉J=J+360⊿H=J:H“TH-0=”◢

I“S-H=”◢

Goto 3�6�8

Lb1 3: X=F:Y=G:T=H : V=1=>Goto 4:≠>Goto 5�6�8

Lb1 4: {AS}: A:S:T=T+A-180:T〈0 =〉T=T+360⊿ T〉360 =〉T =T-360⊿T◢

X=X+Scos T◢

Y=Y+Ssin T◢

Goto 4

Lb1 5:{AS}:A:S

T=H+A-180:T〈0=〉T=T+360⊿ T〉360 =〉T=T-360⊿T◢

X=F+Scos T◢

Y=G+Ssin T◢

Goto 5

6、已知置镜点坐标和置镜点到后视点坐标方位角求放样角度和放样距离的放样程序(程序名FY1)

程序清单:

F“X0”:G“Y0”:H“T0-H”:Fixm:Lb1 1:{XY}�6�8

Pol(X-F,Y-G) �6�8

J〈0 =〉J=J+360⊿A=J-H�6�8

A〈0 =〉A=A+360⊿A“A=” ◢

I“S=” ◢

Goto 1

程序运行说明:

变量输入参照坐标计算,A=为放样顺时针角度,S=为放样距离。

7、已知置镜点和后视点坐标进行放样(FY2)

程序清单:

F“X0”:G“Y0”:M“XH”:N“YH”�6�8

Pol(M-F,N-G):Fixm:H=J�6�8

H〈0=〉H=H+360⊿H“T-H=”◢

I“S-H=” ◢

Lb1 1:{XY}: Pol(X-F,Y-G) �6�8

J〈0 =〉J=J+360⊿�6�8

A=J-H�6�8

A〈0 =〉A=A+360⊿A“A=”◢

I“S=” ◢

Goto 1

8、放样优化程序(可分已知一点或者两点坐标进行放样角度距离的计算)

程序名“FY”

程序清单:

I“I=1 =>1-D≠>2-D”�6�8

I=1=>Goto 1:≠>Goto2�6�8

Lb1 1:F“X0”:G“Y0”:H“T0-H”:Goto 3�6�8

Lb1 2:F“X0”:G“Y0”:M“XH”:N“YH”:Pol(M-F,N-G):Fixm:J〈0=〉J=J+360⊿H=J:H“T-H=”◢

I“S-H=”◢

Goto 3�6�8

Lb1 3:{XY}�6�8

Pol(X-F,Y-G) :Fixm �6�8

J〈0 =〉J=J+360⊿A=J-H�6�8

A〈0 =〉A=A+360⊿A“A=” ◢

I“S=” ◢

Goto 3

程序运行说明:

变量输入参照坐标计算,A=为放样顺时针角度,S=为放样距离。

9、已知两点坐标,反算两点之间的坐标方位角和距离(程序名ZBFS)

程序清单:

A“X1=”:B“Y1=”:C“X2=”:D“Y2=”:P ol(C-A,D-B):Fixm:J〈0 =〉J=J+360⊿J“T(1-2)=” ◢

I“S(1-2)=”

10、分别已知两条直线上一点的坐标和坐标方位角,求这两条直线的交点坐标(程序名JDZB)

程序清单:

X=(tan A“T1”×B“X1”-C“Y1”-tan D“T2” ×E“X2”+F“Y2”) V÷(tan A- tan D)◢

Y= tan A(X-B)+C

11、直线线路坐标计算(ZXXY)

程序清单:

V“X0=”:W“Y0=”:T“T0=”:U“K0=”:Lb1 0:Fixm:{KD}:X=V+(K-U)cos T+D×cos(T+90)◢

Y=W+(K-U)sin T+D×sin(T+90)◢

Goto 0

程序运行说明:

已知某一直线线路上一点的坐标为X0,Y0,该点里程为K0以及该直线沿前进方向的坐标方位角T0,按照提示输入以上数据,如果输入某一里程K和法线外移距离D(向右移为正值,向左移为负值)即可计算出该里程点的法线外移桩坐标X、Y,当D=0时计算结果为中桩坐标。

12、“缓+圆+缓”型曲线坐标计算

主程序(QXJS)

程序清单:

Prog “BQXYS”:Q“K—ZH”:F“ZHX=”:G“ZHY=”:N“TZH—JD”:I“(Y1,Z-1)” �6�8

Lbl 1:Fixm:{KD}:K“LICHENG=”:D“WAIYI=(Z-,Y+)”:Goto2�6�8

Lbl 2:K Goto3:≠>Goto4�6�8

Lbl 3:“K—OVER”: Goto1�6�8

Lbl 4:K>Q+L =>Goto3:≠>Goto5�6�8

Lbl 5:K≤Q+B =>Goto6:≠>Goto7�6�8

Lbl 6:S=K-Q:W=B:Prog “HQXY”:O=N+I×90S2÷(Л RB):O<0 =>O=O+360⊿O>360 =>O=O-360⊿O“FANGWEI=” ◢

X=UcosN-VsinN+F+D×cos(O+90) ◢

Y=VcosN+UsinN+G+D×sin(O+90) ◢

Goto1�6�8

Lbl 7:K≤Q+L-C =>Goto8:≠>Goto9�6�8

Lbl 8:S=K-Q:O=N+I×90(2S-B)÷(Л R):O<0 =>O=O+360⊿O>360 =>O=O-360⊿O“FANGWEI=” ◢

Prog “YQXY”:X=UcosN-VsinN+F+D×cos(O+90) ◢

Y=VcosN+UsinN+G+D×sin(O+90) ◢

Goto1�6�8

Lbl 9: S= Q+L-K:W=C:Prog “HQXY”:E=N+IA+180:O=E-I×90S2÷(Л RC)+180:O<0 =>O=O+360⊿O>360 =>O=O-360⊿O“FANGWEI=”◢

V=-V�6�8

X=(U-H)cosE-VsinE+F+T cosN+D×cos(O+90) ◢

Y=VcosE+(U-H)sinE+G+T sinN+D×sin(O+90) ◢

Goto1�6�8

子程序“BQXYS”

A:R:B“L01”:C“L02” �6�8

M“M1”=B÷2-B3÷(240 R2)◢

J“M2”=C÷2-C3÷(240 R2)◢

P“P1”= B2÷(24 R)- B4÷(2688 R3)◢

Z“P2”= C2÷(24 R)- C4÷(2688 R3)◢

T“T1”=M+(R+P)tan(A÷2)+(Z-P) ÷sinA◢

H“T2”=J+(R+Z)tan(A÷2)+( P-Z) ÷sinA◢

L= B÷2+C÷2+A RЛ÷180◢

E= ◢

子程序“HQXY”

U=S-S5÷(40R2 W2)+ S9÷(3456 R4 W4)-S13÷(599040R6 W6):V=I×(S3÷(6RW)- S7÷(336 R3 W3) +S11÷(42240 R5 W5))

子程序“YQXY”

U=Rsin(180(S-B÷2)÷Л÷R)+M:V=I×(R×(1-cos(180(S-B÷2)÷Л÷R))+P)

程序说明:本程序可以计算等长和不等长“缓+圆+缓”型曲线或者单圆曲线的中线坐标、外移桩坐标以及中线的切线方位角。

先将主、子程序存入计算器,然后运行主程序“QXJS”,输入A(曲线偏角),曲线半径R,第一缓和曲线长L01,第二缓和曲线长L02,(等长缓和曲线时L01= L02),然后显示曲线逐要素,接着输入ZH坐标(ZHX,ZHY),ZH到JD坐标方位角TZH—JD,当曲线为左偏时(Y1,Z-1)输-1,右偏输1,输入计算里程K,外移距离D,计算中桩时D输0,计算左边桩时D输负数,算右边桩时D输正数,当所输里程不在本曲线计算范围内时,屏幕显示K—OVER,继续输入有效里程可继续计算。

对于单圆曲线,缓和曲线长输入0。

本程序缓和曲线X计算取了4项,Y计算取了3项,一般的曲线计算精度都可达到mm级。

13、采用积分进行任意曲线线路坐标计算程序(直线、圆曲线、卵型曲线)

程序名“XLJS”

程序名“XLJS”(V1.1,2005年12月7日星期三升级于秦岭公司)

G“XJ=”:H“YJ=”:R“XH=”:S“YH=”:A“XA=”:B“YA=”:C“TA=”:E“1÷RA ,Z-,Y+”:P“KA=”�6�8

Lbl 1:{FQ}:F“1÷RB, Z-,Y+”:Q“KB=” �6�8

Lbl 2:{V}:V“K=”:O=V:O

Goto3:≠>Goto4�6�8

Lbl 3:“K-SMALL”:Goto2�6�8

Lbl 4:O>Q =>Goto5:≠>Goto7�6�8

Lbl 5:{I}:I“I=1=>ESC≠>NEXT”:I=1=>Goto2:≠>Goto 6�6�8

Lbl 6:“JISUAN:A-TXY”:V=Q:Z=0:D=0:Goto8�6�8

Lbl 7: {DZ}:Z“JIA-JIAO=”:D“WAIYI=(Z-,Y+)”�6�8

Lbl 8:T=C+90÷Л×(2E+(F-E)(V-P)÷(Q-P))(V-P):T〈0=〉T=T+360⊿ T〉360 =〉T=T-360⊿�6�8

Rad:W=A+∫(cos(C°+0.5×(2E+(F-E)(X-P)÷(Q-P))(X-P)),P,V,4)+ D×cos(T°+Z°) �6�8

Y=B+∫(sin(C°+0.5×(2E+(F-E)(X-P)÷(Q-P))(X-P)),P,V,4)+ D×sin(T°+Z°):Deg:Goto9�6�8

Lbl 9:O≤Q =>GotoB:≠>GotoA�6�8

Lbl A:A=W:B=Y:C=T:E=F:P=Q: Goto1�6�8

Lbl B: W“X=”◢

Y“Y=”◢

T“T=”◢

Pol(R-G,S-H):Fixm:M=J:Pol(W-G,Y-H) :J=J-M�6�8

J<0 =>J=J+360⊿J>360 =>J=J-360⊿J“A=”◢

I“S=”◢

Goto 2

程序积分式中“°”的编辑输入为:“FUNCTION”键+5(DRG)+4(°)。

程序功能

由于程序根据线路曲线坐标计算通用数学模型编制,所以,对于任意线型的一段线路曲线(直线、圆曲线可看作是通用计算模型的特例),只要输入曲线信息和测站信息,都可以迅速地计算出该曲线上任意里程点处的切线方位、中桩或与该里程切线成任意夹角的外移桩坐标、极坐标法放样的角度和距离。

程序运行

运行程序“XLJS”,按提示输入置镜点坐标(XJ,YJ),后视点坐标(XH,YH),曲线起点A的坐标(XA,YA)、沿线路前进方向的切线方位角TA、里程KA、曲率(直接在计算器上以1÷RA的形式输入,R表示半径,左偏曲线输负值右偏曲线输正值),继续输入终点B的曲率(1÷RB输入同A点)、里程KB。当屏幕显示“K=?”时,输入该段曲线要计算放样数据的里程值,按提示输入夹角“JIA-JIAO”(夹角的范围为0-180度)和外移量“WAIYI”,“JIA-JIAO”值为该里程自线路前进方向的切线方位角顺时针至该里程中桩与右边桩连线间的角度,当为法线方向时JIA-JIAO为90度,“WAIYI”值中桩左侧输负值右侧输正值,计算中桩时“WAIYI”值输0即可,按“EXE键”屏幕即可依次显示计算中桩或外移桩的坐标、中桩切线方位角、放样角度A,放样距离S。

程序的输入输出都按通俗易懂的提示或测量习惯显示,为确保计算结果无误,编制程序时专门设置了错误里程输入提示,当输入的计算里程K小于该曲线起点里程时,程序将提示里程太小“K-SMALL”,继续输入正确的里程,当第一条曲线计算完毕需计算紧接的第二条曲线时,只需要给K输入一个大于第一曲线终点里程的里程值,这时屏幕显示“I=1=>ESC≠>NEXT”,如果不小心误输入一个大于终点里程的K时(ESC表示取消),可输入1“取消” *** 作,继续计算当前曲线,如果确认要计算下一曲线(NEXT表示要计算下一曲线),输入一个不等于1的数值,接下来屏幕将显示“JISUAN:A-TXY”,程序将自动计算第二曲线的起点信息,接着自动提示输入第二曲线终点的曲率和里程,当显示“K=?”时,即可进行第二曲线放样数据的计算。依次类推,直至计算完所有需计算的曲线中、边桩坐标和放样数据。

迁站时,直接按“AC”键终止程序的运行,到新的测站后重新运行“XLJS”,输入新的测站点、后视点坐标并保持原曲线参数不变即可。

当遇到线路曲线的曲率发生突变(如直线直接接圆曲线或者两个不同半径的圆曲线直接相接)的特殊情况时,可以将突变点两侧的曲线分开单独进行计算,也可以在突变点处增加输入一段微小长度的回旋线把突变点两侧的曲线连接起来,增加一段长度为0.0001米长度的回旋曲线,不会影响计算结果的精度。比如某直线直接连接半径为R的圆曲线,计算完直线段需要接着计算圆曲线时,先输入微小长度的回旋线(1/RB=1/R,KB=直线终点里程+0.0001),然后再输入圆曲线的终点曲率和里程即可继续计算。两个不同半径(半径分别为R1,R2)的圆曲线直接相接时,先输入微小长度的回旋线(1/RB=1/R2,KB=第一圆曲线终点里程+0.0001),然后输入第二圆曲线终点的曲率和里程即可。

有时会遇到逆向测设曲线情况,即从大里程方向向小里程方向测设曲线,采用本程序进行计算时,只需将曲线倒过来进行输入即可,这时,输入和计算的量都应反号(只有“JIA-JIAO”值符号保持不变),曲线偏角反号输入(左偏变为右偏,右偏变为左偏),曲线里程输入时按负值对待,计算右边桩时外移量为负,左边桩时外移量为正(与正向刚好相反)。

14、四等水准测量记录计算程序(红黑面常数为4687、4787)

Lbl 0:“H4687=>I=1”: Fixm: {IABCD}:I=1=>Goto1: ≠>Goto2�6�8

Lbl 1:U=4687:W=4787: Goto3: Lbl 2:U=4787:W=4687: Goto3: Lbl 3:

G“H1”=A“HOU1”-B“QIAN1”◢

E“V2”=B-C“QIAN2”+W◢

F“V1”=A-D“HOU2”+U◢

P“H2”=D-C◢

H=(G+P+W-U)÷2

程序按后-前-前-后的观测顺序编制,当后尺为4687时I赋值1,否则赋不等于1的值。

15、高斯抵偿高程投影面边长改正计算FX-4850程序

E“YI-CHANG:hm=”:F“DI-CHANG:Hm=”�6�8

Lbl 1:{HYS}:H“PING-JUN:Hp=”:Y“PING-JUN:Ym =”:S“GUAN-CE:S=”:V=-S×(H+E-F)÷(6371000+H+E)×1000:W=S×Y2÷(2×63712)×1000:D=S+( V+W)÷1000�6�8

“V1=”:V◢

“V2=”:W◢

“D=”:D◢

Goto 1

说明:该程序可计算高斯投影或抵偿高程面高斯投影的边长投影,hm为异常高程值,当设计资料中没有提供或者未知时取hm=0,即认为高程异常可忽略,Hm为抵偿高程,当没有设抵偿高程面时取Hm=0,即为一般的高斯投影。S为观测水平距离,Hp为导线边两端高程概略平均值(m),Ym为导线边两端点Y坐标平均值减去500公里后的平均值(Km),D为改正到高斯投影面后的边长(m)。

hm=0,Hm取隧道平均高程面高程,Ym=0时,为计算隧道平均高程面的投影改正。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存