线元法计算坐标
- 格式:xls
- 大小:369.00 KB
- 文档页数:7
经苦心钻研,奋战多日,终于编写出了代码短,速度快,精度高, 功能全的线路坐标正反算程序,欢迎试用并提出宝贵意见。
功能简介及特点:1、选用高斯-勒让德公式作计算内核,保证精度,模块化设计,便于扩充功能。
2、线元数据可自动从数据库调用,也可手工输入。
3、可管理多条线路,如里程不在线路或线元范围,将警告里程偏大、偏小。
4、边桩计算设计为导线式递推方式,可用于由一个中桩推出结构物所有角点坐标。
5、反算实现了智能化操作,只需输入线路号(或手工输线元资料)坐标,不需近似里程,即可自动从起点向后开始试算出里程、位置,如对算出里程、位置表示怀疑,还可以让计算器从终点起再向前试算下一个可能的位置(匝道、回头曲线同一坐标可能会有一个以上结果)。
第三次及以后试算才要求输入近似里程。
6、程序代码规范简洁,便于阅读、理解。
完整程序清单:ZFS %正反算主程序B=.1739274226:C=.5-B:Lbl 1:U"0 ZS 1 FS"=0=>Prog "ZS":工>U=1=>Prog"FS":工>Goto 1ZS %正算子程序{K}:Prog"ZZ":l=0:{l}:l"L" 丰 0=>"Prog"WY":丰 >Prog"ZB"FS %反算子程序{KVW}:V"XC"W" YC":Lbl 2:Prog "ZZ":I=V-S:J=W-T:Pol(I,J: J=J~F:K二K+Rec(l,J:Absl<1m=>Prog"WZ": 半 >Gota\2M=O:{M}:M"O NEXT"=O二>U=U+1:Goto 2: 半 >U=1ZZ %高斯法中桩子程序(4节点)Prog"XL":M=K-L: O=(P-R) 2PQR:D=.0694318442:E=.3300094782:F=1:G=1-E:H=1-D:l=5:Lbl 1:C[l]=A+MrC[l](1 P+OMC[l]:Dsz l:Goto 1:S=X+M(BcosD+CcosE+CcosG+BcosH:T=Y+M(Bsi nD+Csi nE+Csi nG+Bsi nHWY %外移点计算子程序Lbl 1:J=90:{J}:J=F+J"<":F=J:S=S+Rec(l,J:T=T+J: Prog"ZB":l=0:{l}:l"L" 工0=>Goto 1WZ %位置显示子程序"KJ":K:Pause 1:J丄ZB %坐标显示子程序"XY ":S:Pause 1:T AYC %异常处理子程序U=1=>K=L:U=2 △U=3=>K=M:U=4AU=5=>{K}:U=4 △K<L=>"V<!":Z=1△K>M=>">>!":Z=1DL %断链处理子程序"DL":K=L:I>0=>K=L+Q------------------ 以上为程序运算部分,以下为数据库部分XL %线路数据库选择子程序Lbl 1:Z=0:N"0 SD"=0=>Prog"0" △N=1=>Prog"1" △N=2=>Prog"2" △有几条线路仿上行格式输几行Z=1=>{NLX YOPQRK}:Goto 10 %手工输入子程序L"K0"X YAQ"LS"P"R0"R"RN":M二L+Q:Prog" YC"1 %线路一数据库子程序①Lbl B:L=线路起点里程:M=线路终点里程:Prog"YC":Z=1=>Goto E △②Q=线元长:P=起点半径:R=终点半径:K< L+Q二>X=起点X坐标:Y二起点Y坐标:A=起点方位角:Goto E △ L=L+Q:③…… @Q=短链长:K<L+Q=>Prog "DL":Goto B △ L=L+Q:⑤Q=线元长:P=起点半径:R=终点半径:K<L+Q二>X=起点X坐标:Y二起点Y坐标:A=起点方位角:Goto E △ L=L+Q:⑥……炉0=线元长:P=起点半径:R=终点半径:X=起点X坐标:丫二起点Y坐标:A=起点方位角丄bl E2 %线路二数据库子程序输入要求和线路一相同。
公路路线不同曲线线元坐标计算方法李自康【摘要】由构成公路工程(或铁路等土木工程)路线的不同线元——直线、圆曲线、缓和曲线(包括卵形曲线)的基本特征出发,推导出该线元上任意点的坐标及切线方位角计算方法,并针对公路工程常见基本型曲线各要素计算方法及各主点坐标及切线方位角计算方法进行了推导,以期为全路线坐标计算提供计算依据。
【期刊名称】《交通世界(运输车辆)》【年(卷),期】2016(000)005【总页数】3页(P19-21)【关键词】直线;圆曲线;缓和曲线;坐标;方位角【作者】李自康【作者单位】贵阳市城市发展投资集团股份有限公司,贵州贵阳 550001【正文语种】中文【中图分类】U412.3针对公路工程(或铁路等土木工程)路线设计来说,无论曲线设计多复杂,无外乎是由直线、圆曲线、缓和曲线按照一定的组合方式连接而成。
对于测量人员来说,就是要将设计人员已经确定的路线在施工现场还原,将各种构造物、路基各控制点在施工现场通过各种放样方法确定下来,然后再指导施工人员按要求施工形成路基、桥涵、隧道、路面等等。
因此,如何通过简单、快捷的方法对路线进行放样至关重要。
在教科书中常见的有切线支距法、弦线支距法、偏角法等方法,计算相对繁琐,现场放样也不太准确。
在计算机技术日益普及、全站仪应用广泛的今天,坐标法大量应用于公路曲线坐标计算及放样当中,大大提高了计算和放样的速度,同时也大大提高了放样精度。
笔者就构成公路路线的不同线元(直线、圆曲线、缓和曲线)的坐标计算方法进行推导并给出相应的坐标及方位角计算公式,在实际的放样过程中,对于拟放样坐标点,根据该点桩号判断出该点所处的线元类型,然后根据该线元公式进行计算即可得出待求点坐标及切线方位角,即可快速地通过全站仪或GPS测量等方法放样到施工现场。
已知直线起点坐标X0、Y0及方位角α0,直线上任一点至起点的距离为D,则该点的坐标X、Y以及切线方位角α的计算公式为(参见图1)。
交点法线元法坐标计算交点法和线元法是计算坐标的两种方法,可以用于计算几何图形中的交点和线段的起始点和终止点的坐标。
下面将详细介绍交点法和线元法的计算过程。
交点法是通过已知条件计算出切线的方程,然后求解出两条切线的交点的坐标。
具体步骤如下:1.根据已知条件,建立两条直线的方程。
假设两条直线的方程分别为L1和L22.将L1和L2相减,得到方程L1-L2=0。
这个方程表示两条直线的交点。
3.解方程L1-L2=0,求出交点的坐标。
这可以通过代入法、消元法或者数值计算方法等得到。
交点法计算坐标的优点是可以得到精确的坐标值。
但是对于复杂的几何图形,方程求解过程可能较为繁琐,需要一定的数学知识和计算能力。
线元法是通过将线段拆分为多个小线元,然后根据已知条件和几何关系逐个计算得到各个小线元的坐标。
具体步骤如下:1. 先计算出线段的长度。
假设线段的起始点和终止点的坐标分别为(x1, y1)和(x2, y2),则线段的长度为L = sqrt((x2 - x1)^2 + (y2 - y1)^2)。
2.根据已知条件和几何关系,将线段等分为若干小线元。
每个小线元的长度为L/n,其中n表示需要等分的线元数目。
3.通过线段的起始点和终止点的坐标,以及小线元的长度计算出每个小线元的起始点和终止点的坐标。
计算公式为:起始点坐标为(x1+i*Δx,y1+i*Δy),终止点坐标为(x1+(i+1)*Δx,y1+(i+1)*Δy),其中i表示第i个小线元,Δx=(x2-x1)/n,Δy=(y2-y1)/n。
线元法计算坐标的优点是计算过程相对简单直观,并且可以得到较为精确的近似值。
但是对于曲线等复杂几何图形,需要将线段等分为较多的小线元才能得到较为准确的坐标值。
无论使用交点法还是线元法计算坐标,都需要根据几何图形的特点和已知条件选择适应的方法,并进行准确的推导和计算。
实际应用过程中,根据具体情况选择合适的计算方法会更加便捷和精确。
交点法和线元法的误差分析方法交点法和线元法是两种常用的误差分析方法,用于测量和计算物体的几何特性。
本文将介绍这两种方法的基本原理和应用。
一、交点法交点法是一种通过测量物体表面上的交点来确定其几何特性的方法。
该方法基于以下原理:在三维空间中,任意两个平面的交线称为交点。
通过测量交点的坐标,可以计算出物体在空间中的位置、距离和角度等信息。
使用交点法进行误差分析时,需要先确定测量的目标和指标。
然后,通过使用合适的测量设备,测量出物体表面上的交点坐标。
接下来,通过计算交点坐标的误差,可以得出测量结果的准确性和精度。
最后,根据测量结果的误差值,进行误差分析和评估。
交点法适用于需要测量物体位置、形状和相对位置关系的情况,例如建筑物的测量、零件的装配和机器人的定位等。
通过使用交点法,可以提高测量的精确度和可靠性。
二、线元法线元法是一种基于物理模型的误差分析方法,通过计算物体表面上每个线元的误差来评估整体的误差。
该方法基于以下原理:将物体表面划分成许多小线元,通过对每个线元的测量和分析,得出整体的几何特性。
使用线元法进行误差分析时,需要先确定物体表面的小线元数量和位置。
然后,通过测量每个线元的尺寸和形状,计算出其误差值。
接下来,将每个线元的误差值累加,得出整体的误差。
最后,根据整体的误差值,进行误差分析和评估。
线元法适用于需要分析复杂物体或特定区域的几何特性的情况,例如汽车外壳的造型、航空发动机的叶片设计和电子设备的尺寸控制等。
通过使用线元法,可以更加精确地评估物体的几何特性和误差情况。
综上所述,交点法和线元法是两种常用的误差分析方法,可以用于测量和计算物体的几何特性。
根据具体的测量需求和物体特点,选择合适的方法进行误差分析,可以提高测量结果的准确性和可靠性。
Q h2-8线元法任意路线与匝道曲线坐标正、反算程序5800计算器坐标计算程序(线元法任意路线与匝道曲线坐标正、反算程序)程序1:QH2-8"ROUTE Or RAMP QH2-8"◢书中多了个个双引号(这里说的书是产品配备的说明书)Deg:Fix 3:书中Freqon取消"NEW(0),OLD(≠0)DATA="?→CIf C≠0:Then "RECOMP(0),NO(≠)= "?→G书中0取消If G=0:Then Goto T:Else Goto J: IfEnd“CURVE NUM=”?N1→Q:5N+11→DimZ“START a(Deg)=”?→Z[5]For 1→I To N“n=”:I◢“START R(m)=”?→Z[5I-4]Z[5I-4]=0=>1X1030→Z[5I-4]“END R(m)=”?→Z[5I-3]Z[5I-3]= 0=>1X1030→Z[5I-3]“LENGTH(m)=”?→Z[5I-2]If Z[5I-4]<1X1030 Or Z[5I-3] <1X1030Then “DEFLEX L(-1),R(1)=”?→Z[5I-1]:IfEnd 注意-1是减1NEXT“[MODE][1] =>Stop!”◢Lb1 T:0→I:For 1→I To NList X[I]+Rep(Z[5I-2])→List X[I+1]List X[I+1]→ZIf Z[5I-4]=Z[5I-3]And Z[5I-4]= 1X1030Then 0→S:0→T:Z[5I-2]→DProg “SUBQ2-84”:Goto 0:IfEndIf Z[5I-4]=Z[5I-3] And Z[5I-4] <1X1030Then Prog “SUBQ2-83”:Goto 0:IfEnd√根号(Rep(Z[5I-2])÷Abs(Z[5I-4]-1-Z[5I-3]-1))→A Rep(Z[5I-2])+Ai→Z[5I-2]Prog “SUBQ2-82”Lb1 0:T→Z[5I+1]]Rep(U)→List Y[I+1]:Imp(U)→List Freq[I+1] Next“PEG-END(m)=”:List X[N+1] ◢“a-END(DMS)=”DMS◢“X-END(m)=”:List Y[N+1] ◢“Y-END(m)=”:List Freq[N+1] ◢“[MODE][4]=>Stop!”◢Lb1 J:”STA BACKXY,NEW(0),O LD(≠0)=”?→JJ≠0=>Goto 1“STAn,X(m),<0=>NO=“?→S0→Z[5N+6]:S<0=>Goto 1If Frac(S)=0 And S≤N+1Then List Y[S]+List Freq[S]i→Z[5N+6]Else “STA Y(m)=”?→T:S+Ti→Z[5N+6]:IfEndLb1 B:”BACKn,X(m),OLDa(0),<0=>a=”?→UU=0=>Goto 1If U<0:Then “a-BACK(Deg)=”?→Z[5N+8]:Goto 1:IfEnd If S=U And Frac(U)=0Then”STAn=BACKn,REPEAT!”Goto B:IfEndIf Frac(U)=0 AND U≤N+1Then List Y[U]+List Freq[U]i→Z[5N+7]Else”BACK Y(m)=”?→V:U+Vi→Z[5N+7]:IfEndLb1 S:Arg(Z[5N+7]-Z[5N+6])→JJ<0=>J+360→J:J→Z[5N+8]Lb1 1:”PEG→XY(1),XY→PEG(≠1)=”?→QQ≠1=>Goto 2Do:”+PEG(m),<0=>END=”?→ZZ<List X[1] Or Z>List X[N+1]=>BreakFor 1→I To NZ<List X[I] Or Z>List X[I+1]=>Goto NZ-List X[I]→LIf Z[5I-4]=Z[5I-3] And Z[5I-4]= 1X1030Then 0→S:0→T:L→DProg “SUBQ2-84”: Prog “SUBQ2-85”:Break:IfEnd If Z[5I-4]=Z[5I-3] And Z[5I-4]<1X1030Then Prog”SUBQ2-83”Prog “SUBQ2-85”: Break:IfEndProg “SUBQ2-82”: Prog “SUBQ2-85”:BreakLb1 N:NextLpWhile Z>0:Goto ELb1 2:”XJ(m), <0=>END=”?X:X<0=>Goto E“YJ(m)=”?Y“J in NUM,<0=>AUTO=”?→I:I>0=>Goto3Abs(X+Yi-List Y[1]-List Freq[1]i→CList X[1]+C→ZFor 1→S To NZ>List X[S] And Z<List X[S+1]=>Break:Next 9000→C:S→EFor E→I To N(List Y[I]+ListY[I+1])÷2→U(List Freq[I]+List Freq[I+1])÷2→VAbs(X+Yi-U-Vi)→DIf D<C:Then D→C:I→F:IfEndNext:F≥2=>F-1→ILb1 3:If Z[5I-4]=Z[5I-3] And Z[5I-4]=1X1030 Then tan(Z[5I])→T(X+T2List Y[I]-T(List Freq[I]-Y))÷(T2+1)→UU+(Y-(U+X)÷T)i→U:Z[5I]→TU-List Y[I]-List Freq[I]→FArg(F)→H:H<0=>H+360→H1→J:Abs(T-H)>150=>-1→JList X[I]+JAbs(F)→ZIf Z≥List X[I] And Z≤List X[I+1]:Then Goto Z Else I+1>N=>Goto Z:I+1→I:Goto 3:IfEnd:IfEnd If Z[5I-4]=Z[5I-3] And Z[5I-4]<1X1030Then List Y[I]+List Freq[I]i→SZ[5I]+90Z[5I-1]→AZ[5I-4]→R:S+R<A→VX+Yi→U:Arg(U-V)→F:Abs(U-V)→DV+R<F→UAbs(U-S)→C:sin-1(C÷2÷R)→EZ[5I]+2Z[5I-1]E→TList X[I]+∏ER÷90→ZIf Z≥List X[I] And Z≤List X[I+1]:Then Goto ZElse I+1>N=>Goto Z:I+1→I:Goto 3:IfEnd:IfEnd List Y[I+]+List Freq[I]i→UList Y[I+1]+List Freq[I+1]→V(U+V)÷2→FV-U→C:Abs(C)→S:Arg(C)→JJ<0=>J+360→J:J+90Z[5I-1]→GIf Z[5I-4]>Z[5I-3]:Then 2Z[5I-3]→RElse 2Z[5I-4]→R:IfEnd√(R2-S2÷4)→TF+T<G→OSin-1(S÷R÷2)→V:∏VR÷90→J(Rep(Z[5I-2])-J)÷J→PX+Yi-O→V:Arg(V)→JO+R<J→C:Abs(C-U)→SSin-1(S÷R÷2)→V:∏VR÷90→JList X[I]+J(1-P)→ZProg “SUBQ2-82”DoX+Yi-U→C:Abs(C)→SArg(C)→J:J<0=>J+360→JJ-T→J:J<0=>J+360→JIf J>220:Then J-270→J:-1→FElse 90-J→J:1→F:IfEndIf Z[5I-4]>Z[5I-3]Then πJ÷180÷(FZ[5I-1]L÷A2+S-1)→EElse πJ÷180÷(-FZ[5I-1]L÷A2+S-1)→E:IfEndZ+E→ZIf Z>List X[I+1]:Then I+1→I:Goto 3:IfEndProg “SUBQ2-82”Tan(T)(ImP(U)-Y)+ReP(U)-X→CLpWhile Abs(C)>0.001Fix 4:”f(Lp)=”:C◢Fix 3:Lb1 Z:Prog “SUBQ2-85”:Goto 2Lb1 E:”QH2-8=>END”程序2:SUBQ2-81If L<1X10-5:Then 0→U:0→J:Return:IfEndL-L∧(5)÷40÷A∧(4)+L∧(9)÷3456÷A∧(8)-L∧(13)÷599040÷A∧(12)+L∧(17)÷175472640÷A∧(16)→OL∧(3)÷6÷A2-L∧(7)÷336÷A∧(6)+L∧(11)÷42240÷A∧(10)-L∧(15)÷9676800÷A∧(14)+L∧(19)÷3530096640÷A∧(18)→UO+Ui→U:(L2÷(2A2))r→JReturn程序3:SUBQ2-82ImP(Z[5I-2])→AA2÷Z[5I-4]→LProg “SUBQ2-81”:U→V:J→EIf Z[5I-4]>Z[5I-3]:Then Z-List X[I]+L→L Prog “SUBQ2-81”:U-V→OElse A2÷Z[5I-3]→LList X[I+1]-Z+L→LProg “SUBQ2-81”:V-U→O:IfEdnAbs(O)→D:Arg(O)→TAbs(T-E)→S:Abs(J-E)→TProg “SUBQ2-84”Return程序4:SUBQ2-83Z[5I-4]→R:Z-List X[I]→L(L÷2÷R)r→S:2Rsin(s)→D2S→T:Prog”SUBQ2-84”Return程序5:SUBQ2-84Z[5I]+Z[5I-1]S→S:Z[5I]+Z[5I-1]T→TT<0=>T+360→T:T>360=>T-360→TList Y[I]+List Freq[I]i+D<S→UReturn程序6:SUBQ2-85T<0=>T+360→T:T>360=>T-360→TIf Q=1:Then “ai(DMS)=”:T◢“Xi(m)=”:Rep(U)◢“Yi(m)=”:Imp(U)◢Else Z<List X[I] Or Z>List X[I+1]=>”OUT OF The CURVE!”◢Arg(X+Yi-U)→H:H<0=>H+360→HAbs(X+Yi-U)→DIf H>180:Then “J in Left,NUM=”:I◢Else “J in Right,NUM=”:I◢IfEnd“p PEG(m)=”:z◢“ap(DMS)=”◢“Xp(m)=”:Rep(U)◢“YP(m)=”:Imp(U) ◢“J→p DIST(m)=”:D◢IfEndIf Abs(Z[5N+6])>0:Then U→Z[5N+7]:Prog “SUBQ2-87”:IfEndZ≠0=>Porg “SUBQ2-86”Return程序7:SUBQ2-86“ANGLE(0)=>NO,-L+R(Deg)=”?KK=0=>ReturnIf K<0:Then K+180→P:Else K→P:K-180→K:IfEnd “WL(m),0=>NO=”?MIf M>0:Then U+M<(T+K)→V“XL(m)=”:Rep(V) ◢“YL(m)=”:Imp(U) ◢If Abs(Z[5N+6])>0:Then V→Z[5N+7]:Prog “SUBQ2-87”:IfEnd:IfEdn“WR(m),0=>NO=”?WIf W>0:Then U+W<(T+P)→V“XR(m)=”:Rep(V) ◢“YR(m)=”:Imp(V) ◢If Abs(Z[5N+6])>0:Then V→Z[5N+7]:Prog “SUBQ2-87”:IfEndIfEdn:Return程序8:SUBQ2-87Z[5N+7]-Z[5N+6]→O:Arg(O)→JJ<0=>J+360→JJ-Arg(Z[5N+8])→J:J<0=>J+360→J(J+1X10-8)≥360=>J-360→J“HR(DMS)=”◢“HD(m)=”:Abs(O) ◢Return红色“O”表示为字母,仅对单个字母另作标记。
CASIO 9860G SD线元法隧道三维(坐标正反计算、高程)计算程序1. A(此为主程序)Lbl 0:〝1.LC=>XY〝:〝2.XY=>LC〝:〝3.ZHZL=>GC〝:〝PB=>V=1,2,3〞?→V:If V=1:Then GOTO 1 :IfEnd :If V=2:Then GOTO 2 :IfEnd :If V=3:Then GOTO 3 :Else GOTO 0 :IfEnd:Lbl 3:〝ZH=H〝?→H :〝SDZF=Z〝?→Z:Prog〝ZGCZCX〝:GOTO 0:Lbl 1 :〝ZH=L〝?→L:If L>173000 And L<174661.96:Then GOTO 4 :Else GOTO 0 :IfEnd :Lbl 4:L→L:〝SDZF=Q〝?→Q:〝XLZJ,-Z+Y=Q〝:Q+0.125→Q:Prog 〝ZBQXYS〝:〝JSJD=J〝:90→J▲Prog 〝ZSZB〝:〝X=〝:X ▲ 〝Y=〝:Y▲〝FWJ=O〝:O▼DMS▲L→H:Q-0.125→Z:Prog 〝ZGCZCX〝:GOTO 0:Lbl 2:〝XO=M〝?→M:〝YO=R〝?→R:173300→L:If M>3845505.273 And M<3846506.099And R>499371.832 And R<500352.224 :Then GOTO 5:Else GOTO 2:IfEnd :Lbl 5:0→Q:0→J:Prog 〝ZBFS〝:〝LC=L〝:L ▲〝JL=Q〝:Q▲ 〝SDZJ,-Z+Y=Q〝:Q-0.125→Q ▲L→H:Q→Z:Prog 〝ZGCZCX〝:GOTO 02.正算坐标ZBZS( L-S ) / 4→H:90/π→F:HHF(1/T-1/I)/(K-S)→U:2HF/ I→D:C+4D+16 U→O:O+J→P :C+ D+ U→E:C+2D+4U→W:C+3D+9U→G:A+AbsH/3*(cosC+4(cosG+cosE)+2cosW+cosO)+Qcos P→X :B+AbsH/3*(sinC+4(sinG+sinE)+2sinW+sinO)+Qsin P→Y3.反算坐标:ZBFSLbl 0:Prog 〝ZBQXYS〝:Prog 〝ZBZS〝:O-90→Z:(R-Y)cosZ-(M-X) sinZ→P :L+P→L:If Abs P≥0.001:Then GOTO 0 :Else GOTO 1:IfEnd :Lbl 1: (R-Y)cosO-(M-X) sinO→Q4. 曲线元要素数据库:ZBQXYSIf L≥S And L<K :Then **→ S:**→ A:**→ B:**→ C:**→ I:**→ K:* *→ T IfEnd :If L≥S And L<K :Th en **→ S:**→ A:**→ B:**→ C:**→ I:**→ K:* *→ T IfEnd :If L≥S And L<K :Then **→ S:**→ A:**→ B:**→ C:**→ I:**→ K:* *→ T IfEnd :If L≥S And L<K :Then **→ S:**→ A:**→ B:**→ C:**→ I:**→ K:* *→ T IfEnd :If L≥S And L<K :Then **→ S:**→ A:**→ B:**→ C:**→ I:**→ K:* *→ T IfEnd :……………………………If L≥S And L<K :Then **→ S:**→ A:**→ B:**→ C:**→ I:**→ K:* *→ T IfEnd ┘(注:如有多个曲线元要素继续添加入数据库ZBQXYS中)5 高程计算主程序ZGCZCX (后有修改说明)Lbi1 :〝SCGC=X〝?→X:〝R=M〝:5.98→M:〝CS=N〝:1.603→N:Prog"GC SJK":C-D→F:Abs(RF÷2) →T:R AbsF÷F→R:If H≤B-T :Then 0→K:GOTO 2:IfEnd :If H>B-T And H<B+T :Then H-B+T→K :GOTO 2:IfEnd :If H≥B+T :Then 0→K:D→C:GOTO 2:IfEnd :Lbi 2 :〝XLZG=G〝:A-(B-H)C-K^2÷2R→G▲If Z≥0:Then If X>100 Then 〝YO1XGC=J〝:G+N→J▲〝YGCFSKD=J〝:Abs√(M^2-(X-(G+N))^2) →J▲〝YKDCQ,+C,-Q=J〝:J- Abs (Z+0.000) →J▲〝YSBSJGC=J〝:G+N+√(M^2-(Z+0.000)^2) →J▲〝YGCCQ,C+,Q-=J〝:X-J→J▲Else〝YO1XGC=J〝:G+N→J▲〝YSBSJGC=J〝:G+N+√(M^2-(Z+0.000)^2) →J▲ IfEnd :Else 〝ZO1XGC=J〝:G+N→J▲If X>100 :Then〝ZGCFSKD=J〝:Abs√(M^2-(X-(G+N))^2) →J▲〝ZKDCQ,+C,-Q=J〝:J- Abs (Z+0.000) →J▲〝ZSBSJGC=J〝:G+N+√(M^2-(Z+0.000)^2) →J▲〝ZGCCQ,C+,Q-=J〝:X-J→J▲Else〝ZSBSJGC=J〝:G+N+√(M^2-(Z+0.000)^2) →J ▲IfEnd :IfEnd6高程计算主程序子程序:GCSJKIf H>起点桩号 And H≤第一个竖曲线起点桩号Then 第一竖曲线交点高程→A:第一竖曲线交点桩号→B:第一竖曲线前坡度→C:第一竖曲线后坡度→D:第一竖曲线半径→R:IfEnd:If H>第一竖曲线止点桩号 And H≤第二竖曲线起点桩号Then 第一竖曲线交点高程→A:第一竖曲线交点桩号→B:第一竖曲线前坡度→C:第一竖曲线后坡度→D:第一竖曲线半径→R:IfEnd:If H>第一竖曲线止点桩号 And H≤第二竖曲线起点桩号Then 第一竖曲线交点高程→A:第一竖曲线交点桩号→B:第一竖曲线前坡度→C:第一竖曲线后坡度→D:第一竖曲线半径→R:IfEnd………………………(继续添加要素)说明:第一部分坐标部分(1、2、3、4)V=1进入坐标正算 V=2进入坐标反算V=3进入单独的高程计算当V不等于1、2、3时,则返回程序,要求再次输入V值。
线元法切线支距法计算逐桩坐标线元法和切线支距法是地理信息系统(GIS)中常用的两种方法,用于计算路线或道路的逐桩坐标。
线元法是一种基于线段的近似计算方法。
它将道路或路线简化为一系列直线段(线元),并计算每个线元的长度和方向。
通过累积计算每个线元的长度,可以得到每个桩点的累积里程。
根据线元的方向,可以计算每个点的经纬度坐标。
切线支距法是一种更精确的计算方法,它通过计算路线的切线方向和每个点到切线的距离,确定每个点的坐标。
这个方法相对于线元法更复杂,但可以得到更准确的结果。
下面将分别介绍线元法和切线支距法的计算步骤。
线元法的计算步骤如下:1.将道路或路线分段为直线段(线元),每段长度足够小,以保证计算的精度。
可以根据实际情况选择合适的分段长度。
2.计算每个线元的长度,可以使用勾股定理或其他测量方法。
3.计算每个线元的方向角度,可以使用三角函数或其他方法。
4.从起点开始,按照线元的长度和方向顺序,累积计算每个桩点的累积里程。
5.根据累积里程和线元的方向角度,可以计算每个点的经纬度坐标。
切线支距法的计算步骤如下:1.选择一定的起点和起始切线方向。
2.计算起点处的切线方向。
3.根据起点处的切线方向和路线的曲率半径,确定每个点的切线方向。
4.计算每个点到切线的距离(即支距),可以使用几何计算方法。
5.根据支距和起点的经纬度坐标,可以计算每个点的经纬度坐标。
6.重复步骤3至5,直到计算到终点。
两种方法的优缺点:线元法的优点是简单易懂,计算速度快。
缺点是计算结果存在一定误差,特别是在道路曲线变化较大的情况下,精度较低。
切线支距法的优点是能够更准确地计算每个点的坐标,特别是在道路曲线变化较大或复杂的情况下,精度更高。
缺点是计算过程较为复杂,需要更多的计算步骤和数据输入。
根据实际情况,可以选择线元法或切线支距法进行逐桩坐标的计算。
对于道路曲线较为平缓简单的情况,线元法已经足够满足要求;而对于复杂的道路曲线或需要更高精度的场景,切线支距法是更好的选择。
C匝道线元法坐标计算(双心版)一、示例图纸
主点坐标表
逐桩坐标表
线位数据图
二、图纸分析
根据主点坐标表和线位数据图分析出下图:
BP—HY为一段缓和曲线,A=70,LS=41.585,由于A²≠LS*R,70²≠41.585*60,所以该段缓和曲线为非完整缓和曲线,起点半径为:
有两个数据值,在用“测量员”或者“轻松测量”时输入哪一个都可以。
此处是双心软件计算不需要考虑。
HY—YH为一段圆曲线,R=60;YH—EP为一段缓和曲线,由于A²=LS*R,90²=135*60,所以该段缓和曲线为完整的,终点半径为无穷大。
三、双心软件输入参数
四、坐标计算结果
五、生成CAD脚本图。