• 对称复曲线(直线、缓曲、圆曲、缓曲、直线)中边桩坐标计算



    该程式主要适用于对称复曲线(直线、缓曲、圆曲、缓曲、直线)中边桩坐标计算,单次半算范围为前一交点HZ点到后一交点ZH点。
    E“JDK” F“JDX” G“JDY” R H“LS” I“ALF”J“ZJ”
    T=(R+H2÷24R-H3÷2688R3)Tan(AbsJ÷2)+H÷2-H3÷240R2
    L=R(πAbsJ÷180-H÷R)
    Lbo0:{KQ}:Q=90:X=F-TCosM:Y=G+TSinM:Z=E-T:Z=K-O:K>Z →GOTO1:Z=K-Z: M=I: P=M-Q:GOTO5 
    Lbo1:J<0→N=1:←N=2△K>Z+H→GOto2:p=(-1)N(K-Z)2÷H÷R÷6×180÷π:M=I+p:Z=K-Z-(K-Z)5÷90÷R2H2:P=M+P-Q:Gto5
    Lbo2:z=z+H:K>z+L→Goto3:o=I+(-1)NH÷2÷R×180÷π:p=(-1)N(K-Z)÷R×180÷π:M=I+(-1)NH÷R÷6×180/π:Z=H-H3÷90R2:X=X+XCosM:Y=Y+SinM:M=o+p÷2:Z=2RSin((-1)NP÷2):q=o+p-Q:GotoO5
    Lbo3:z=zH+L:M=I+J:X=F+TCosM:Y=G+TSinM:KLbo4:J<0→N=2:←N=2△p=(-1)N(K-Z)2÷H÷R÷6×180÷π:Z=K-Z-(K-Z)5÷90÷R2H2:M=M+p:q=M+2p-Q:Goto5
    Lbo5:{V}:X=X+ZCosM+V“WIDE”CosQ▲Y=Y+ZSINM+V“WIDE”SINQ▲
    符号说明:
    JDK?:交点桩号;
    JDX?:交点桩X坐标; 
    JDY?:交点Y坐标;
    R?:圆曲线半径;      
    LS?:缓和曲线长;
    ALF?:该交点与前一交点直线段的方位角(度);
    ZJ?:该曲线转角(左转为正、右转为负);
    K?:欲求点桩号;
    WIDE?:中桩至边桩距离(左正右负,中桩为零)
    X:欲求点X坐标;
    Y欲求点Y坐标;        
    1、计算范围为前一交点HZ至后一交点ZH。
    2、计算曲线为单圆曲线时,LS输入一无限小数值(如LS=1E45)。
    3、程式中为使计算时输入元素最少, 边桩设为正交边桩,需计算任意交角边桩时,需把程式中第三行 Q=90删除即可在计算过程中提示要求输入边桩角度。

    本人为半路出家的和尚,工民建专业毕业后从事公路施工测量。那时亦未能发现网站上可以下载相关计算程式。闭门造车,猛查资料三天方至成型。后一直没空未对其加以深究,现休息在家,将其贴于该站,一者请大家多多指教,二者解部分朋友当日我之困境。


    FDS-1:我有一个输入切线长的程序,你可试用
    G“J(X)”:H“J(Y)”:M“J(K)”:R:L“LS1”:W“LS2”:T“T1”:U“T2”:Z“Z(K)”:C“Q(FWJ)”:D“Z(FWJ)”:J=C+180-D:J<0=>J=J+360△J>360=>J=J-360△J<180=>P=1:≠>P=-1△Q=M-T:A=G+Tcos(C+180):B=H+Tsin(C+180):E=G+UcosD:F=H+UsinD

    Lbl 0:Fixm:{K}:K≤Q=>“FWJ=”:N=C→DMS▲“X=”:A+Rec(Q-K,N+180)▲“Y=”:B+J▲Goto 0△K≥Z=>“FWJ=”:N=D→DMS▲“X=”:E+Rec(K-Z,N)▲“Y=”:F+J▲Goto 0△Z-K<W=>Z[3]=W:S=Z-K:Prog“PQ1”:“FWJ=”:N=D-Z[7]→DMS▲“X=”:E+Icos(D+180)+Jsin(D+180)▲“Y=”:F-Jcos(D+180)+Isin(D+180)▲Goto 0△Z[3]=L:K-Q<L=>S=K-Q:Prog“PQ1”:“FWJ=”:N=C+Z[7]→DMS▲“X=”:A+IcosC-JsinC▲“Y=”:B+JcosC+IsinC▲Goto 0△S=K-Q-L:Z[4]=C+90P(L+S)/(Rπ) 

    Z[5]=2Rsin(S÷R÷π×90):N=Z[4]+90PS÷R÷π:Z[6]=N:S=L:L=0=>I=0:J=0≠>Prog“PQ1”:“FWJ=”:N=Z[6]→DMS▲X=A+IcosC-JsinC:Y=B+JcosC+IsinC:“X=”:X+Rec(Z[5],Z[4])▲“Y=”:Y+J▲Goto0△

    PQ1:                                                                                                                                                         

    I=S-S^5÷(40R^2Z[3]^2)+S^9/(3456R^4Z[3]^4):J=P(S^3/(6RZ[3])-S^7/(336R^3Z[3]^3)):Z[7]=90PS^2÷(Z[3]πR)

    缓和段坐标计算(ZH---HY)

    Z:Z←┘
    Lbl1:{K}:K←┘
    L=k-261301.35(ZH里程):C=L-(L^5÷40÷7000^2÷200^2):B=(L^3÷6÷7000÷200)-(L^7÷336÷7000^3÷200^3)←┘
    "X=":X=2571749.599(ZHX坐标)+CCos221'41'30.71"(ZH前方位角)-ZBSin221'41'30.71"◢
    "Y=":Y=517518.910(ZHY坐标)+CSin221'41'30.71"(ZH前方位角)+ZBCon221'41'30.71"◢
    {DR}:R"RA":D←┘
    "N=":N=X+DCos(221'41'30.71"+R+ZL^2÷2÷200÷7000*180÷π)◢
    "E=":E=Y+DSin(221'41'30.71"+R+ZL^2÷2÷200÷7000*180÷π)◢
    Goto1

    7000---为半径  不同的曲线修改下就OK 比如下一个半径为600,把7000该为600就OK
    200---为缓和长  不同的缓和长修改下就OK 比如下一个半径为150,把200该为150就OK
    (261301.35为ZH里程) (ZHX坐标)  (ZHY坐标)  (ZH前方位角) 都是根据你需要的要素而改动,我的着个上面只是个参数例子。不等长就需要修改


    圆曲线坐标计算(HY---YH)

    Z:Z←┘
    Lbl1:{K}:K←┘
    M=(200*180)÷2÷7000÷π:F=(((K-261501.35)*180)÷7000÷π)+M:B=(7000SinF)+(200÷2-200^3÷240÷7000^2):C=7000(1-CosF)+(200^2÷24÷7000)←┘
    "X=":X=2571749.599(ZHX坐标)+BCos221'41'30.71"(ZH前方位角)-ZCSin221'41'30.71"◢
    "Y=":Y=517518.910(ZHY坐标)+BSin221'41'30.71"(ZH前方位角)+ZCCon221'41'30.71"◢
    {DR}:R"RA":D←┘
    "N=":N=X+DCos(221'41'30.71"+ZM+R+Z(K-261501.35)÷7000*180÷π)◢
    "E=":E=Y+DSin(221'41'30.71"+ZM+R+Z(K-261501.35)÷7000*180÷π)◢
    Goto1

    7000---为半径  不同的曲线修改下就OK 比如下一个半径为600,把7000该为600就OK
    200---为缓和长  不同的缓和长修改下就OK 比如下一个半径为150,把200该为150就OK
    (261501.35为HY里程) (ZHX坐标)  (ZHY坐标)  (ZH前方位角) 都是根据你需要的要素而改动,我的着个上面只是个参数例子。


    后缓和段坐标计算(YH---HZ)

    Z:Z←┘
    Lbl1:{K}:K←┘
    L=263047.451(HZ里程)-K:C=L-(L^5÷40÷7000^2÷200^2):B=(L^3÷6÷7000÷200)-(L^7÷336÷7000^3÷200^3)←┘
    "X=":X=2570329.184(HZ坐标)-CCos(221'41'30.71"(ZH前方位角)+Z*12'39'18"(线路转角))+Z(-B)Sin(221'41'30.71"(ZH前方位角)+Z*12'39'18"(线路转角))◢

    "Y=":Y=516510.803(HZ坐标)-CSin(221'41'30.71"(ZH前方位角)+Z*12'39'18"(线路转角))-Z(-B)Con(221'41'30.71"(ZH前方位角)+Z*12'39'18"(线路转角))◢
    {DR}:R"RA":D←┘
    "N=":N=X+DCos(221'41'30.71"(ZH前方位角)+Z*12'39'18"(线路转角))+R-ZL^2÷2÷200÷7000*180÷π)◢
    "E=":E=Y+DSin(221'41'30.71"(ZH前方位角)+Z*12'39'18"(线路转角))+R-ZL^2÷2÷200÷7000*180÷π)◢
    Goto1


    7000---为半径  不同的曲线修改下就OK 比如下一个半径为600,把7000该为600就OK
    200---为缓和长  不同的缓和长修改下就OK 比如下一个半径为150,把200该为150就OK
    (263047.451为HZ里程) (HZ坐标)  (HZ坐标)  (ZH前方位角)  (线路转角) 都是根据你需要的要素而改动,我的着个上面只是个参数例子。不等长就需要修改 缓和长 200  要有不等长的线路可以根据需要来修改 

    直线上就不用说的大家都会的哦


    本程序说明

    程序运行:

    Z    为线路左偏或右偏   左偏时输入-1   右偏时输入1  切记

    K    为所求的里程

    X    为中桩坐标X

    Y    为中桩坐标Y

    RA   为线路算边桩左侧和右侧角度    任意角度    算左边距离时输入-90或-80度  算右边距离时输入+90或+80度
     
    D    为距离

    N    为边桩坐标X

    E    为边桩坐标Y


    下面是:例子 为线路左偏

    缓和段坐标计算(ZH---HY)例子 

    里程:261501.35   中桩 X=2571599.622  Y=517386.5976  左侧-10度、距离为10 M  N=2571591.037   E=517381.4661  右侧+10度、距离为10 M  N=2571593.309   E=517378.84


    圆曲线坐标计算(HY---YH)例子

    里程:261600   中桩 X=2571524.572  Y=517322.5698  左侧-70度、距离为10 M  N=2571515.909   E=517327.4613  右侧+70度、距离为10 M  N=2571528.006   E=517313.178


    后缓和段坐标计算(YH---HZ)例子

    里程:262847.452   中桩 X=2570503.579  Y=516608.7076  左侧-90度、距离为10 M  N=2570498.602  E=516617.3815  右侧+90度、距离为10 M  N=2570508.558   E=516600.0358

    作者:非非(feizai1126)

    联系QQ:8696847             
    联系QQ:8696847                       
    联系QQ:8696847

  • 相关阅读:
    MongoDB创建或删除用户并验证数据库权限
    Pytorch学习——梯度下降和反向传播 03 未完
    Oracle11用户连接默认180天过期
    Unity 编辑器扩展 一键替换指定物体下的所有材质球
    操作系统——信号
    Java的final修饰符
    Linux 入门篇
    Spring Boot | Spring Boot 默认 “缓存管理“ 、Spring Boot “缓存注解“ 介绍
    【深入理解C++】vector
    【QT】编译QtWebEngine(Build QtWebEngine from source)Win10+QT5.7.1_x64+VS2015
  • 原文地址:https://blog.csdn.net/s13166803785/article/details/125556383