1、绵阳市二环路石马立交工程立交匝道坐标放样正反算 CASIO fx-5800P 程序(带数据库功能)一、前言 立交匝道坐标放样正反算程序(带数据库功能),主要功能有: 1使用立交匝道数据库子程序,可将一个互通立交的若干条匝道写入数据库子程序,程序在计算时省却了输入原始数据的麻烦; 2坐标正算方面,选择匝道后,输入桩号即可进行匝道的中、边桩坐标计算,若输入了测站坐标,还可同时计算全站仪极坐标放样数据(拨角和平距); 3坐标反算方面,选择匝道后,输入平面坐标,即可计算对应的桩号和距中距离(含左右信息)。 二、程序的特点: 1使用线元积分法进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写; 2主程
2、序通过调用数据库子程序,省却了使用时再输入匝道参数的繁琐; 3使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。 二、立交匝道示例项目基本资料 绵阳市二环路西半环三期工程石马立交工程总体设计图表资料如下: .三、立交匝道线元数据的整理 经整理,匝道石马路、A、B、C、D、E、F 线元数据如下。.四、程序代码注:1、第 5、27 改为“RAMP1-8”R 2、根据实际使用情况,在桩号反算时,若桩号比较大(匝道起始桩号一般为 0),还是让用户输入一个估算的对应桩号为好,因此程序第 29、30 行分别改为(每行结尾处省略回车符):29 行:“X“?F: “Y“?G: “K“?P30 行:F
3、I: GJ. 交匝道坐标放样正反算程序数据库调用子程序:RAMP-DATA行号 程 序 说 明1 If R=Then Prog“RAMP-DATA1”:IfEnd DATA1(A 匝道)2 If R=Then Prog“RAMP-DATA2”:IfEnd DATA2(B 匝道)3 If R=Then Prog“RAMP-DATA3”:IfEnd DATA3(C 匝道)4 If R=Then Prog“RAMP-DATA4”:IfEnd DATA4(D 匝道)5 If R=Then Prog“RAMP-DATA5”:IfEnd DATA5(E 匝道)6 If R=Then Prog“RAMP-D
4、ATA6”:IfEnd DATA6(F 匝道)7 If R=Then Prog“RAMP-DATA7”:IfEnd DATA7(主线桥)8 If R=Then Prog“RAMP-DATA8”:IfEnd DATA8(石马路)立交匝道坐标放样正反算程序A 匝道线元数据库子程序:RAMP-DATA1行号线元类型 程序 说明1 直线 0S:30.491E:If PE:Then 25525.126W:19391.995Y:924953Q:0A:0B:Return:IfEnd 线元“SM-1”数据2 缓和 ES:60.491E:If PE:Then 25523.62W:19422.448Y:92495
5、3Q:0A:1100B:Return:IfEnd 线元“SM-2”数据3 圆 ES:163.202E:If PE:Then 25520.645W:19452.27Y:1012533Q:1100A:1100B:Return:IfEnd 线元“SM-3”数据4 缓和 ES:193.202E:If PE:Then 25456.377W:19526.593Y:1601630Q:1100A:0B:Return:IfEnd 线元“SM-4”数据5 直线 ES:276.951E:If PE:Then 25427.297W:19533.84Y:1685210Q:0A:0B:Return:IfEnd 线元“SM
6、-5”数据6 缓和 ES:306.951E:If PE:Then 25345.123W:19550.008Y:1685210Q:0A:1280B:Return:IfEnd 线元“SM-6”数据7 圆 ES:347.599E:If PE:Then 25315.593W:19555.272Y:1715620Q:1280A:1280B:Return:IfEnd 线元“SM-7”数据8 缓和 ES:377.599E:If PE:Then 25275.075W:19558.036Y:1801524Q:1280A:0B:Return:IfEnd 线元“SM-8”数据9 直线 ES:383.624E:If
7、PE:Then 25245.103W:19556.83Y:1831934Q:0A:0B:Return:IfEnd 线元“SM-9”数据10 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR” 11 Stop:Ifend 若输入的桩号不在匝道范围内,则停止计算交匝道坐标放样正反算程序B 匝道线元数据库子程序:RAMP-DATA2行号线元类型 程序 说明1 圆 0S:156.905E:If PE:Then 25145.855W:19596.41Y:3552104Q:1481A:1481B:Return:IfEnd 线元“SM-1”数据2 圆 ES:531.11E
8、:If PE:Then 25301.541W:19609.199Y:140228Q:1300A:1300B:Return:IfEnd 线元“SM-2”数据3 缓和 ES:573.541E:If PE:Then 25527.834W:19876.746Y:853033Q:1300A:0B:Return:IfEnd 线元“SM-3”数据4 直线 ES:612.094E:If PE:Then 25529.159W:19919.146Y:893339Q:0A:0B:Return:IfEnd 线元“SM-4”数据5 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR”
9、6 Stop:Ifend 若输入的桩号不在匝道范围内,则停止计算交匝道坐标放样正反算程序C 匝道线元数据库子程序:RAMP-DATA3行号线元类型 程序 说明1 直线 0S:49.702E:If PE:Then 25558.636W:19846.744Y:2724953Q:0A:0B:Return:IfEnd 线元“SM-1”数据2 缓和 ES:89.702E:If PE:Then 25561.092W:19797.103Y:2724953Q:0A:1100B:Return:IfEnd 线元“SM-2”数据3 圆 ES:182.744E:If PE:Then 25565.715W:19575.
10、443Y:2841726Q:1100A:1100B:Return:IfEnd 线元“SM-3”数据4 缓和 ES:222.744E:If PE:Then 25624.513W:19689.672Y:3373558Q:1100A:0B:Return:IfEnd 线元“SM-4”数据5 直线 ES:416.991E:If PE:Then 25663.124W:19679.5Y:3490331Q:0A:0B:Return:IfEnd 线元“SM-5”数据6 圆 ES:516.597E:If PE:Then 25853.84W:19642.63Y:3490331Q:1400A:1400B:Return
11、:IfEnd 线元“SM-6”数据7 直线 ES:531.91E:If PE:Then 25952.97W:19636.033Y: 31934Q:0A:0B:Return:IfEnd 线元“SM-7”数据8 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR” 9 Stop:Ifend 若输入的桩号不在匝道范围内,则停止计算交匝道坐标放样正反算程序D 匝道线元数据库子程序:RAMP-DATA4行号线元类型 程序 说明1 直线 0S:67.627E:If PE:Then 25760.799W:19586.834Y:1905515Q:0A:0B:Return:If
12、End 线元“SM-1”数据2 缓和 ES:102.627E:If PE:Then 25694.396W:19574.022Y:1905515Q:0A:1150B:Return:IfEnd 线元“SM-2”数据3 圆 ES:273.507E:If PE:Then 25660.334W:19566.065Y:1973619Q:1150A:1150B:Return:IfEnd 线元“SM-3”数据4 缓和 ES:308.507E:If PE:Then 25556.861W:19441.692Y:2625235Q:1150A:0B:Return:IfEnd 线元“SM-4”数据5 直线 ES:323
13、.482E:If PE:Then 25555.233W:19406.751Y:2693339Q:0A:0B:Return:IfEnd 线元“SM-5”数据6 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR” 7 Stop:Ifend 若输入的桩号不在匝道范围内,则停止计算交匝道坐标放样正反算程序E 匝道线元数据库子程序:RAMP-DATA5行号线元类型 程序 说明1 直线 0S:20.647E:If PE:Then 25058.221W:19575.358Y:1742347Q:0A:0B:Return:IfEnd 线元“SM-1”数据2 圆 ES:146.
14、398E:If PE:Then 25037.673W:19577.374Y:1742347Q:1-400A:1-400B:Return:IfEnd 线元“SM-2”数据3 直线 ES:150.775E:If PE:Then 24916.488W:19608.963Y:1562302Q:0A:0B:Return:IfEnd 线元“SM-3”数据4 缓和 ES:197.240E:If PE:Then 24912.477W:19610.716Y:1562302Q:0A:1-50B:Return:IfEnd 线元“SM-4”数据5 圆 ES:328.595E:If PE:Then 24837.653W
15、:19635.426Y:1294541Q:1-50A:1-50B:Return:IfEnd 线元“SM-5”数据6 缓和 ES:373.946E:If PE:Then 24929.811W:19714.159Y:3391426Q:1-50A:0B:Return:IfEnd 线元“SM-6”数据7 直线 ES:393.652E:If PE:Then 24965.175W:19686.432Y: 3131523Q:0A:0B:Return:IfEnd 线元“SM-7”数据8 缓和 ES:424.028E:If PE:Then 24978.679W:19672.08Y:3131523Q:0A:118
16、0B:Return:IfEnd 线元“SM-8”数据9 圆 ES:489.336E:If PE:Then 25000.101W:19650.559Y:3180527Q:1180A:1180B:Return:IfEnd 线元“SM-9”数据10 缓和 ES:523.63E:If PE:Then 25055.472W:19616.608Y:3385245Q:1180A:1481B:Return:IfEnd 线元“SM-10”数据11 圆 ES:540E:If PE:Then 25088.279W:19606.702Y: 3462247Q:1481A:1481B:Return:IfEnd 线元“SM
17、-11”数据12 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR” 若输入的桩号不在匝道范围内,则停止计算13 Stop:Ifend 交匝道坐标放样正反算程序F 匝道线元数据库子程序:RAMP-DATA6行号线元类型 程序 说明1 直线 0S:41.026E:If PE:Then 25968.258W:19636.921Y:31934Q:0A:0B:Return:IfEnd 线元“SM-1”数据2 圆 ES:140.986E:If PE:Then 26009.215W:19639.302Y:31934Q:1400A:1400B:Return:IfEnd 线
18、元“SM-2”数据3 直线 ES:195.633E:If PE:Then 26107.25W:19657.445Y:173839Q:0A:0B:Return:IfEnd 线元“SM-3”数据4 缓和 ES:233.484E:If PE:Then 26159.326W:19674.009Y:173839Q:0A:1-50B:Return:IfEnd 线元“SM-4”数据5 圆 ES:377.703E:If PE:Then 26196.316W:19680.814Y:3560356Q:1-50A:1-50B:Return:IfEnd 线元“SM-5”数据6 缓和 ES:415.554E:If PE
19、:Then 26202.07W:19581.807Y:1904141Q:1-50A:0B:Return:IfEnd 线元“SM-6”数据7 直线 ES:470.201E:If PE:Then 26164.541W:19584.281Y: 1690028Q:0A:0B:Return:IfEnd 线元“SM-7”数据8 圆 ES:570.161E:If PE:Then 26110.896W:19594.701Y:1690028Q:1400A:1400B:Return:IfEnd 线元“SM-8”数据9 直线 ES:611.187E:If PE:Then 26011.42W:19601.366Y:1
20、831934Q:0A:0B:Return:IfEnd 线元“SM-9”数据10 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR” 11 Stop:Ifend 若输入的桩号不在匝道范围内,则停止计算. 交匝道坐标放样正反算程序二环路主线桥线元数据库子程序:RAMP-DATA7行号线元类型 程序 说明1 直线 34982S:35700E:If PE:Then 25539.565W:19319.613Y:893339.39Q:0A:0B:Return:IfEnd 线元“ZX-1”数据2 If P0 Or PE:Then Cls:Locate 5,2, “KP ERROR” 3 Stop:Ifend 若输入的桩号不在匝道范围内,则停止计算交匝道坐标放样正反算程序石马路线元数据库子程序:RAMP-DATA8