CASio 9860公路三维坐标计算程序帮助.docx
《CASio 9860公路三维坐标计算程序帮助.docx》由会员分享,可在线阅读,更多相关《CASio 9860公路三维坐标计算程序帮助.docx(29页珍藏版)》请在冰豆网上搜索。
CASio9860公路三维坐标计算程序帮助
程序使用说明
--CASIO9860G公路三维坐标计算程序
程序说明:
本程序是一款运行用CASIO9860G系列上的公路三维坐标计算程序,程序约8KB大小,使用9860中的表文件作为程序数据,由于受9860主存大小限制,一次约能进行200个交点(交点法)或是约600个线元(线元法)的公路平面坐标和中桩高程,如使用内部后备存储器(1.5M)在需要时手动调入进行计算,或是使用SD卡为数据载体则计算只受这两个容量的限制。
程序功能:
程序能选择交点法(一般适用用主线)或是线元法(一般适用于岔道)计算,他们有相同的功能:
1、全线三维坐标正算,计算全线路上任一桩号偏距点坐标(支持斜交)
2、全线三维坐标反算,实测一点坐标,计算该点所在的桩号及偏距
3,线路任一点放样工作,设站后输入任一点桩号偏距斜交即计算测站到该点平距及方位
4、批量计算三维坐标,从指定的桩号向结束处或开始处按(以+或-的为间距间距)连续计算点的三维坐标
5、路面挂线测量,支持全站仪和水准仪操作,实测一点计算该点到指定的结构层的高度,用于指导结构层抄平工作
6、任意断面隧道超欠挖程序,实测断面上任一点即可得到该点的超或是欠挖值,支持单独断面,或是将断面加入到线路中去(该程序需单独起动不在统一界面选择下)
5、结构物相对位置正反算,计算结构物前后左右的点在线路上的坐标或是实测一点后反算实测点到结构特轴线的前后左右(该程序需单独起动不在统一界面选择下)
注意:
路线上任一点三维坐标中(程序中现计算的是中心高程,如要计算断面点高程则表中要有相应的超高数据并把调用时的Prog”SQX”改成0(零)->O(欧):
Prog"CHAOGAO",即可计算断面点高程),反算路线上任一坐标的里程和距中心的位置,
程序界面及提示说明:
主起动程序:
MainProg(该程序只起一引导作用,执行时可以直接选择交点法或是线元法直接执行)
起动后屏幕显示:
JiSHuanFangFa:
‘计算方法选择
JiaoDianFa:
(F1)‘按F1选交点法
XianYuanFa:
(F2)‘按F2选线元法
每个计算所显示提示都是以拼音或是显见的字符表示,对于交点法和线元法,都提两种输入数据方式:
一是在EXCEL中组织好数据存成CSV文件后直接导入(当然也可以在程序指定的列表中输入);二是程序运行时输入,即在运行程序是,根据相应的提示输入数据,由程序自动存入列表中,下面以交点法来说明各阶段的各种提示的意思和处理注意事项,
F1交点法
按9860面板上最上面一行的功能键F1就直接选择了交点法进行计算,会弹出下面的提示:
DuBiaoGeShuJu
(1)
ShouGongShuRu(123)
1读表格中数据直接计算(表格中数据格式见后面说明)
1.1)输1后执行还会弹出提示:
YaoChuShiHuaBiaoGe?
‘要不要初始化表格
ChuShiHuan(-1)‘要初始化输-1
ZhiJieShiYong‘-1外的任意值就直接使用表格中数据计算
注解:
要不要初始化表格,表格中倒进9860的数据在第一次使用时必须要初始化后才能计算,这主要是基于提高处理速度和可能要把表格中的数据输出作为资料使用,初始化计算的内容是每个交点的主点桩号和主点坐标,初始化是一个费时的过程,在第一次初始化后,以后只要表格中的数据没有破坏,就可按非-1的任意值计算了,建议把初始化后的表格备份到寄存器或是SD卡上。
123.手工输入表格
手工输入表格时将会按提示的格式,输入每上个交数据,(但一般不建议使用这功能而是直接在EXCEL中输入数据倒入9860中)在每输完一个交点时会询问:
JiXuShuRu(BuShi-1)
TuiChuShuRu(-1)
此时要输下一个时输入一非-1的数,输入-1时完成输入,程序将自动进行初始化
初始化时屏幕会提示;
ChuShiHuaBiaoGe....
此时请不要按任何键,更不要按AC键强制中断。
初始化完成后将程序就将进入计算功能选项界面:
XianLuZhengShuan
(1)‘线路正算
XianLuFanShuan
(2)‘线路反算
FangYangJiSuan(3)‘放样计算
PiLiangZenSuan(4)‘批量计算
LuMianGuaXian(5)‘路面挂线
TuiChu(9)退出整个计算
1)线路正算
提示输入:
JiShuanLiCheng:
‘计算里程,在输入计算里程超出计算范围时程序将直接显示LiChengChaoCu!
然后停止计算,同时停止程执行
PianJu(Zuo-;You+)‘偏距(左输-右输+)
Xiejiaojiaodu‘斜交角度
JiSuanGaoCheng
(1)‘计算高程否,输1则同时计算高程,但此时必须保证表3中有高程交点数据据,不计算的话输非-1,此时表3中有没有数据也没关系。
高程结果将显示为0
执行的结果显示:
JiShuanDianX=*****.****(X坐标)
JiShuanDianY=*****.****(Y坐标)
JiShuanDianH=*****.****(H)
QieXian=(切线)
2)线路反算
输入提示:
ShiCeX=":
ShiCeY=‘输入反算的X,Y坐标,
反算成功后提示要不要计算高程,同前面介绍一样
执行的结果显示:
LiCheng=*****.****‘里程
JuZhong=*****.****‘距中
ZhongGao=****.****‘中心高程
3)放样计算
提示输入测站点坐标
CeZhanZuoBiaoX=
CeZhanZuoBiaoY=
FangYangDianLiCheng:
‘放样点里程
FangDianPianJu(Z-Y+)‘放样点偏距
Xiejiaojiaodu斜交角度
结果:
CeZhanDaoDianJuLi‘测站到到距离
CeZhanDaoDianFangWei:
‘测站到点方位角,(以度分秒形式)
完成一点放样后会提示要不要继续放样,测站坐标不用输了,但要输放样里程和偏距,程序提供要计算这些值的接口,其实目前所说的所有计算都是基于线路正算这个子程序,它在表格格式不变情况下提供了一个输入参数就会得到输出结果,子程序ZS(交点法,线元法的子程序是XZS)的输入参数是里程S,偏距T,输出的参数是该点的坐标,和法线右方位角F。
这个是计算的核心程序,任何具体应用都可以设置S和T后调用子该子程序得到坐标和该点的法线方向,然后可以进行别的计算了。
现在所介绍的所有功能,也只是结子程序的应用而已,所以这个放样计算只是看怎么应用而已,
4)批量正算
提示
JiShuanQiSiLiCheng‘批量计算起始里程
PianJu(Zuo-You+)‘计算偏距
JiShuanJianJu‘批量计算的增量,为+从当前起点计算到终点,为-从当前里程计算到起点,
JiSuanGaoCheng?
(1)‘计算时同时计算高程与否(-1),要计算高程时要保证表3中有竖曲线数据
然后显示;
JiShuanZhong.....‘计算中…….
完成后显示:
jiShuanWanCheng
计算结果:
交点法时在File1中的List21-List26中
线元法时在File2中的List7-List11中
结果格式看后面数据格式说明,
5)路面挂线测量
该功能是根据在结构层施工时,依全站仪实测的一个三维点或是水准仪实测的一个高程点及距中心的距离,快速计算出该点到指定的结构层的高度(上或下)的值,从而达到找平施工时快速确定所需抄平测量的结果,从而指导施工
在主界面中输入5时选择挂线测量
LuMianGuaXian(5)‘路面挂线
5.1)进入程序提示:
ZhongGeDaiKuan:
?
输入中隔带宽,如无测输0,程序是以中隔带坡度为0来计算的,在超高数据中的坡度应从中隔带边上计算,如果中线计算则说明无中隔带
5.2)接下来提示:
JieGouChenHou:
?
结构层厚,指定要计算的结构层的厚度以便计算该层设计高
5.3)接着提示:
SiYong(TS:
1;DS:
2)?
使用仪器,TS是指全站仪测量,选1,DS指水准仪测量输2
使用全站仪会在下面要求输入实测的三维坐标来计算该点到指定结构层的高度,
使用水准仪会要求输入一站间的水准测量读数
5.3.1)在5.3)中输入1选时使用全站仪会提示:
SiCeX=?
SiCeY=?
SiCeH=?
输入全站仪在结构层上实测的一点的三维坐标,显示计算的结果:
ZhuangHao=XXXXX实测点的桩号
PianJU=XXXXX实测点的偏距(左-右+)
Xia:
XXXX实测点到指定结构层设计高需要下和其值(+)
或
ShangXXXX实测点到指定结构层设计高需要上和其值(-)
接着提示:
TuiChu(-1)
是否退出计算(-1退出,非-1的值,进行下一个计算将从5.3.1处接受下一个三维点)
5.3.2)在在5.3)中输入2(非1)时使用水准仪会提示
HouSiDianGao?
后视点高,输入后视点的高程,以便进行一次抄平测量所需的值
HouSiDuSu:
?
后视读数,水准仪后视高程时的计读数
5.3.3)一次抄平测量所需值
JiSuanZuangHao:
?
计算桩号,本次抄平测量的桩号
PianJu?
测量点的偏距(左-右+)
QianSiDuSU:
?
前视读数,水准仪抄平测量的前视读数
运行后结果如下:
ZhuangHao=XXXXX实测点的桩号
PianJU=XXXXX实测点的偏距(左-右+)
Xia:
XXXX实测点到指定结构层设计高需要下和其值(+)
或
ShangXXXX实测点到指定结构层设计高需要上和其值(-)
接着提示:
TuiChu(-1)
是否退出计算(-1退出,非-1的值,进行下一个计算将从5.3.3处开始下一个抄平测量)
6)退出
退出程序显示程序信息:
HuanYinSiYong
ZhuoZe:
BanZhiYan
QQ:
850570455
www.china-
线元法的输入和提示同交点法基本一致,就不再细述,
程序的数据结构说明
公路的类型如下图示意(交点法,线元法无要求)
(1)
本程序对公路线型的要求:
(2)路线的平面线型为按“直线+缓和曲线+圆曲线+缓和曲线+直线”顺序连续组成完整的公路基本直伸状线型。
(3)路线平面和立面起于直线,终于直线,对于不是这种情况只需在前或后面增加一段虚直线便可进行计算。
序中所需的计算数据要事先输入,有两种输入方式,
(4)手工输入
(5)在EXCEL中输入表格准备(格式见下面表格)另存为CSV格式后用FA-124软件传入9860中。
手工输入方式的提示就按屏幕提示输入即可,下面说表格中准备和传输的方法:
为了统一计算过程和处理高程,程序共使用了3个表文件,随本帮助代有一个实例的的表文件的具体数据,可打开(用EXCEL或是记事本)来看一下里面的数据配合下面的说明可能更能理解
File1:
主要用于交点法数据
File2:
主要用于线元法及隧道断面数据(见后面说明)
File3:
所有关于高程和超高计算竖曲线及超高的断面数据
交点法格式
1)手工输入
会依次提示输入交点的桩号,起点坐标,前缓,后缓,及圆半径(该值对第一个和最后一个交点无意义)对照下面和提示的拼音
2)EXCEL表格输入
File1用于交点法存取输入和交点法计算的结果存取
格式表中已说得很清楚了,要特别说明的是,表中的List4[1]中第一个交点的圆曲线半径是不存在的,这里填是的交点的个数,即表中的16,它等于交点序号列的最后一个交点的序号,只有红色部份是要准备的数据,其它只是提示,准备好数据后,把红色部份复制在另一个表中另存为CSV的格式,建议取名成FileJDF.CSV,上面对应的CSV中的数据如下:
2676795.6640,493202.4960,6981.390,16.000,0.000,0.000
2676348.6228,492858.7428,7545.316,50.000,50.000,312.528
2675852.5062,492929.7119,8032.099,35.000,35.000,515.113
2675609.7673,493030.0953,8294.076,50.000,50.000,147.115
2675301.4430,492865.1353,8633.967,35.000,35.000,199.258
2675194.6139,492663.4581,8858.466,35.000,35.000,320.866
2675031.8010,492561.7479,9046.370,35.000,35.000,61.180
2675066.0557,492376.5189,9223.542,30.000,30.000,138.460
2675060.1312,492201.7650,9398.231,30.000,30.000,60.369
2675133.0356,492081.7519,9537.330,0.000,0.000,154.537
2675135.4969,492008.1467,9609.196,0.000,0.000,102.355
2675169.4152,491950.5193,9674.981,0.000,0.000,82.162
2675181.2872,491803.8959,9821.442,0.000,0.000,49.514
2675144.2906,491748.9675,9886.347,0.000,0.000,42.582
2675144.2905,491688.9201,9945.629,0.000,0.000,65.260
2675205.8348,491625.4112,10031.430,0.000,0.000,0.000
此时,表中的数据是用“,”号分隔开的,这种格式就可直接倒进9860的主存中使用了。
线元法输入:
1)手工输入
开始时会提示从第N个线元开始输入,这是由于程序采用只输入第一个线元起点的坐标和方位,后续线元从前面计算得到,当输入线元过多时,会造成累积误差,当输入到一定线元时,可以退出输入,那么下次输入只需在表中看一下List1[1]中的值是多少,下一次就从该点开始,如下表中如要接着输入就指定N这样可以方便的输入多次边续输入,开始会提示:
DiNGeDianKaiSi:
?
Xx
第N个点
接着:
QiDianLiCheng:
?
起点里程
QIDianX=?
起点X坐标
QiDianY=?
起点Y坐标
QiDianFangWei?
起点方位
QiDianBanJin?
起点半径(直线输1E45)
ZhongDianBanJin终点半径(直线输1E45)
至此一个完整的线元输入完成
接下来只需输入下个线元的里程和起终点半径
XianDianLiCheng?
下一线元起点里程
QiDianBanJin?
下一线元起点半径
ZhongDianBanJin?
下一线元终点半径
TuiChu(Y:
-1;N<>-1)非-1继续输入下一线元,-1退出输入下次可指定N值从当前接着输入
2)
File2用于线元法存取输入和线元法计算的结果存取
格式如下:
表中的各列元素意思也不多说,需注意的是第一行,它的第一个元素值为5是指有5条线元,这线元个数也是必须同时填写的,起点方位角输入时:
接受10进制(手工输入只需指定第一个方位,以后无需输入),手工输入和在电子表格中输入时均采用这种输法,这点要注意。
这是由于在9860中输入度分秒不方便造成的。
同时一般高斯公式计算时都有一转向的输入,本程式中没有,而时把它和曲率半径一起来确定转向,线元向左转是所对应的曲率半径是“-”的,向右偏时曲率半径为“+”。
即转向是从曲率半径中提取出来的。
另外的是为以后预留的,现在全为0,线元的数据是重第二行开始的,其CSV格式数据如下:
5,0,0,0,0,0
19942.8370,28343.5610,500.0000,125.2753,1E+45,1E+45‘第一个线元
19787.3400,28563.3780,769.2560,125.2753,1E+45,-221.75
19766.5660,28594.5740,806.7480,120.4317,-221.75,-221.75
19736.0720,28701.8930,919.5270,91.2918,-221.75,-9579.228
19744.0380,28781.6590,999.8120,80.6797,1E+45,1E+45
竖曲线不是程序所必须的数据,所以不提供手工输入界面,必须从EXCE中输入,如无竖曲线数据则只能计算和高程无关的计算。
在计算时会提示是否进行高程计算
File3用于和线路高程计算有关的准备数据
格式如下:
表中各项意义也很明显,注意的是第一行的第三列的竖曲线半径对第一个交点来说是没有意义的,这是用来表示在线路中一共有多少个交点,此例中为32个交点,第5列中的坡度定义是相对于中线的,高于中线为+,低于中线为-,坡度是以百分值为单位的,即4%的坡度直接填4就行了,程序计算时会自动处理,列4-列7的数据是用于断面上点高程计算的,同时要注意的是,在计算平面的同时也要计算高程的话,则要保证竖曲线的里程范围要大于或是等于平面里程的范围,否则超出范围的里程就不可能计算出高程,这点应是很显然的。
该表的CSV示例就不说了。
程序的整个注意事项
程序计算高程,无论线元法还是交点法都使用同一个表文件File3,这是基于节约主存空间的大小出发的,当一条线路有主线和岔道时,可能同时存在都要计算高程问题,但两个不可能同时计算,所以可把主线的高程数据和岔道的高程数据备份在寄存器或是SD上,在计算主线时把它的高程数据直进装入主存,这样主存中的程序和使用的File1,或是线元使用的File2就不会频繁的调用,可以一直在主存中,调入的只是各自己的高程数据,结省了操作就意味减少错误发生的机会。
任意断面隧道超欠挖计算程序:
该程序不在主界面中起动,在程序选择界面(MENUB)下直接找到程序名:
SUIDAO即可运行.要处理任意断面必须要有一套相应的断面表示规格来表达断面,为此先说明任意断面的数据组织:
程序计算原理
工程中隧道断面形式多种多样,但都是由直线,圆等基本形式构成的,如下图是一典型的公路隧道断面,可以想向隧道由多种线型构成一封闭的图形,一般我们求解一点是超挖还是欠超是指该点在一点在设计边线上的径向距离作为参考,当在内时,欠挖,在外时超挖,同时,由于设计线是由多个线元组成,可能存在多个径向的方向值,那么,到所有径向距离最短的是我们所要计算的值,为此计算就转化为求点按径向方向到设计线的的最短距离了,把断面设计线看成时一个由多种线元构成的闭合图形时,便可利用我们所熟悉的线元计算了
如图中所示(测量坐标),把坐标轴定义在断面的底板中线上(如果是加入线路时,则应该是底板和线路中心高程一致,单位断面时,坐标轴可以任意选取不会影响计算结果),顺时针从左往右计算(所有半径为+),第一线元起点坐标显然是(0,0)。
起点方位270,起点曲率半径无穷大(输入时为避免计算方位角麻烦可在CAD中直接标注起点和X轴的夹角即为线元起点方位角)如此,可得到如下表中的线元构成表(同线元法一样合用File3,表中第一行是线元数和一些备用值,不是线元附代的线元表中有详细的数据)
所使用的LIST
List11
List12
List13
List14
List15
List16
i=1-6
Listi[n]
起点坐标
起点方位
起点半径
终点半径
线元长
X
Y
A
RA
RB
LS
Listi[1]
9
0
0
0
0
0
Listi[2]
0.0000
0.0000
270.0000
1.00E+45
1.00E+45
2.1989
Listi[3]
0.0000
-2.1989
0.0000
1.00E+45
1.00E+45
0.3014
Listi[4]
0.3014
-2.1989
270.0000
1.00E+45
1.00E+45
1.6000
Listi[5]
0.3014
-3.7989
-20.7119
7.0031
7.0031
6.1818
Listi[6]
6.2650
-3.3169
30.0272
3.830
3.830
8.0215
Listi[7]
6.2650
3.3169
149.9728
7.0031
7.0031
6.1818
Listi[8]
0.3014
3.7989
270.0000
1.00E+45
1.00E+45
1.6000
Listi[9]
0.3014
2.1989
180.0000
1.00E+45
1.00E+45
0.3014
Listi[10]
0.0000
2.1989
270.0000
1.00E+45
1.00E+45
2.1989
当计算时断面在线路上时,应以线路的高程在洞断面上的位置来作为X的0点,而Y的0点可以任意指定(相当于知道洞距线),因为要计算高程来确定相对的XY坐标,否则计算全出错,单个断面时XY可以任意确定。
运行程序是:
ZiJieJiSuan(<>-1)直接计算输不等于-1的值
SuRuDuanMian(-1)要输入断面数据时,输入-1,
直接计算会在后面说明,此处说明输入断面数据:
输入-1并EXE后,程序接受断面数据输入:
提示:
1)、
QiDianX=?
对照上面的表起点为0,
QiDianY=?
对照上面的表起点为0
QiDianFangWei=?
上面为270(如果有度分秒,切换到度分秒状态输入,些处接受10进制数值)
QiDianBanJin=?
起点半径,规定如前(直线输1E45,圆就是圆半径)
ZongDianBanJin=?
终点半径,规定如前(直线输1E45,圆就是圆半径)
XianYuanChang?
线元长,2.1989
接下来程序会直接计算出下一个线元的起点坐标,接下来就是循环的输入就只有起点方位(洞内线元一般是不相切的)起、终点半径
QiDianFangWei=?
上面为0(如果有度分秒,切换到度分秒状态输入,些处接受10进制数值)
QiDianBanJin=?
起点半径,规定如前(直线输