坐标计算
坐标正反算计算公式

坐标正反算计算公式坐标的正反算是指根据点的经纬度坐标计算出该点所对应的位置,或者根据位置信息计算出该位置的经纬度坐标。
在地理信息系统中,正反算是非常重要的基本操作。
下面将分别介绍坐标的正算和反算的计算公式。
坐标正算即通过经纬度坐标计算出该点所对应的位置。
设经度为L,纬度为B,L0为中央经度(通常取地理区域中心点的经度),E为横轴坐标,N为纵轴坐标,M0为中央经线的投影,f为椭球扁率。
(1)将地球视为一个椭球体,对于小范围的区域,可以采用球面近似。
此时可以使用平面直角坐标系进行计算,并忽略地球的扁率和曲率。
具体计算公式如下:E=L-L0N=B-B0其中,B0为中央纬度。
(2)在地表为曲面的情况下,需要考虑地球的扁率和曲率。
此时可以使用高斯平面直角坐标系进行计算,公式如下:K = (a / √(1 - e^2 * sin^2B)) * √(1 + t^2)L = (L - L0) * cosBX=K*[L+(1-t^2+q^2)*L^3/6+(5-18*t^2+t^4+14*q^2-58*t^2*q^2)*L^5/120]Y=K*(M-M0+(1-t^2+q^2)*L^2/2+(5-14*t^2+3*t^4+14*q^2-28*t^2*q^2)*L^4/24)其中,a为椭球长半轴,e为椭球第一偏心率,M为曲面子午线弧长,t = tanB,q = (ωL)^2 * cosB,ω为地球自转角速度。
坐标反算即通过位置信息计算出该位置的经纬度坐标。
(1)对于小范围的区域,可以近似为平面直角坐标系,使用直角坐标系的计算公式即可反算出经纬度坐标。
具体计算公式如下:L=L0+EB=B0+N(2)对于地球曲面的情况,使用高斯平面直角坐标系进行反算时,可以采用交迭算法(迭代计算)。
迭代计算公式如下:L1 = [(X / K) - (1 - t^2 + q^2)(L1^3) / 6 - (5 - 18 * t^2 +t^4 + 14 * q^2 - 58 * t^2 * q^2)(L1^5) / 120] / cosBB1 = [(Y / K) - M - (1 - t^2 + q^2)(L1^2) / 2 - (5 - 14 *t^2 + 3 * t^4 + 14 * q^2 - 28 * t^2 * q^2)(L1^4) / 24] / (a /√(1 - e^2 * sin^2B))其中,L1、B1为迭代计算的经纬度坐标,X、Y为已知的平面坐标,K为局部坐标系绘图比例尺系数,t、q的计算和上述正算公式相同。
测量计算坐标公式

测量计算坐标公式在测绘领域中,测量计算坐标公式是一种用于确定地理位置坐标的数学公式。
这些公式基于测量仪器所采集到的各种数据,如角度、距离和高程等,通过数学运算来计算出地点的确切坐标。
1. 两点定位两点定位是最基本的测量计算坐标公式之一。
它适用于在平面上确定一个点的位置。
假设有两个已知点A和B,它们的坐标分别为(x1, y1)和(x2, y2),并且我们知道了点A和点B之间的距离d和角度θ。
那么根据三角关系,我们可以计算出另一个点P的坐标(x, y)。
具体的计算公式如下:x = x1 + d * sin(θ)y = y1 + d * cos(θ)2. 三角测量三角测量是一种常用的测量计算坐标公式,尤其适用于不可直接测量的地点。
该公式基于三角形的边长与角度关系来计算目标点的坐标。
假设已知一个已知点A的坐标(x1, y1),和与之相连的两条边长a和b,以及两个角度A和B。
我们要确定与已知点A相连的第三条边长c,以及目标点P的坐标(x, y)。
根据三角形的正弦定理和余弦定理,我们可以得到以下计算公式:c^2 = a^2 + b^2 - 2 * a * b * cos(C)x = x1 + c * sin(A)y = y1 + c * cos(A)3. GPS测量GPS(全球定位系统)是一种通过卫星定位的全球导航系统。
在测量计算坐标方面,GPS是一种常用的工具。
它通过接收卫星发出的信号来确定接收器的位置。
GPS接收器会接收到多个卫星的信号,并测量信号的到达时间。
通过知道卫星的精确位置和信号传播速度,我们可以计算出接收器和每个卫星之间的距离。
通过至少三个卫星的测量,我们就可以利用三角测量的原理来计算接收器的坐标。
具体的计算公式比较复杂,这里不进行详细展开。
值得注意的是,GPS测量一般会考虑到误差修正和改正模型,以提高测量精度。
4. 高程测量除了水平坐标(x, y)之外,有时还需要测量地点的高程(z)。
以三角测量为基础,我们可以通过测量不同地点的高度差来计算高程。
坐标计算公式

坐标计算公式一、计算公式1、圆曲线坐标计算公式β=180°/π×L/R (L= βπ R/180°)弧长公式β为圆心角△X=sinβ×R△Y=(1-cosβ)×RC= 弦长X=X1+cos (α±β/2)×CY=Y1+sin (α±β/2)×Cβ代表偏角,(既弧上任一点所对的圆心角)。
β/2是所谓的偏角(弦长与切线的夹角)△X、△Y代表增量值。
X、Y代表准备求的坐标。
X1、Y1代表起算点坐标值。
α代表起算点的方位角。
R 代表曲线半径2、缓和曲线坐标计算公式β= L2/2RLS ×180°/πC= L - L5/90R2LS2X=X1+cos (α±β/3)×CY=Y1+sin (α±β/3)×CL代表起算点到准备算的距离。
LS代表缓和曲线总长。
X1、Y1代表起算点坐标值。
3、直线坐标计算公式X=X1+cosα×LY=Y1+sinα×LX1、Y1代表起算点坐标值α代表直线段方位角。
L代表起算点到准备算的距离。
4、左右边桩计算方法X边=X中+cos(α±90°)×LY边=Y中+sin(α±90°)×L在计算左右边桩时,先求出中桩坐标,在用此公式求左右边桩。
如果在线路方向左侧用中桩方位角减去90°,线路右侧加90°,乘以准备算的左右宽度。
二、例题解析例题:直线坐标计算方法α(方位角)=18°21′47″DK184+714.029求DK186+421.02里程坐标X1=84817.831 Y1=352.177 起始里程解:根据公式X=X1+cosα×LX=84817.831+COS18°21′47″×(86421.02—84714.029)=86437.90 1Y=Y1+sinα×LY=352.177+sin18°21′47″×(86421.02—84714.029)=889.943 求DK186+421.02里程左右边桩,左侧3.75m,右侧7.05m.解:根据公式线路左侧计算:X边=X中+cos(α±90°)×LX边=86437.901+cos(18°21′47″- 90°)×3.75=86439.082Y边=Y中+sin(α±90°)×LY边=889.943+sin(18°21′47″- 90°)×3.75=886.384线路右侧计算:X边=X中+cos(α±90°)×LX边=86437.901+cos(18°21′47″+ 90°)×7.05=86435.680Y边=Y中+sin(α±90°)×LY边=889.943+sin(18°21′47″+90°)×7.05=896.634例题:缓和曲线坐标计算方法α(ZH点起始方位角)=18°21′47″ X1=86437.901 Y1=889.941 起始里程DK186+421.02曲线半径2500 缓和曲线长120m求HY点坐标,也可以求ZH点到HY点任意坐标解:根据公式β=L2/2RLS×180°/πβ={1202/(2×2500×120)}×(180°/π)= 1°22′30.36″C=L-L5/90R2LS2C=120-1205/(90×25002×1202)=119.997X=X1+cos(α±β/3)×CX=86437.901+cos(18°21′47″-1°22′30.36″/3)×119.997=86552.086 Y=Y1+sin(α±β/3)×CY=889.941+sin(18°21′47″-1°22′30.36″/3)×119.997=926.832 求DK186+541.02里程左右边桩,左侧3.75m,右侧7.05m.解:根据公式线路左侧计算:X边=X中+cos(α±90°)×LX边=86552.086+cos{(18°21′47″-1°22′30.36″)- 90°}×3.75=86553.182 Y边=Y中+sin(α±90°)×LY边=926.832+sin{(18°21′47″-1°22′30.36″)- 90°}×3.75=923.246 线路右侧计算:X边=X中+cos(α±90°)×LX边=86552.086+cos{(18°21′47″-1°22′30.36″)+ 90°}×7.05=86550.026 Y边=Y中+sin(α±90°)×LY边=926.832+sin{(18°21′47″-1°22′30.36″)+ 90°}×7.05=933.574 缓和曲线方位角计算方法α=(起始方位角±β偏角)= 18°21′47″-1°22′30.36″=16°59′16.64″注:缓和曲线在计算坐标时,此公式只能从两头往中间推,只能从ZH点往HY点推,HZ点往YH点推算,如果YH往HZ点推算坐标,公式里的β为β2/3.例题:圆曲线坐标计算方法α(HY点起始方位角)= 16°59′16.64″ X1=86552.086 Y1=926.832 曲线半径2500 曲线长748.75 起始里程DK186+541.02求YH点坐标,也可以求QZ点坐标或任意圆曲线一点坐标.解:根据公式β=180°/π×L/Rβ= 180°/π×748.75/2500=17°09′36.31″△X=sinβ×R△X=sin17°09′36.31″×2500=737.606△Y=(1-cosβ)×R△Y=(1-cos17°09′36.31″)×2500=111.290C= 弦长C=745.954X=X1+cos(α±β/2)×CX= 86552.086 +cos(16°59′16.64″+360°-17°09′36.31″/2)×745.954=87290.023 Y=Y1+sin(α±β/2)×CY=926.832+ sin(16°59′16.64″+360°-17°09′36.31″/2)×745.954=1035.905圆曲线方位角计算方法α=(起始方位角±β偏角)=16°59′16.64″+360°-17°09′36.31″=359°49′40.33″求DK187+289.77里程左右边桩,左侧3.75m,右侧7.05m.解:根据公式线路左侧计算:X边=X中+cos(α±90°)×LX边=87290.023+cos(359°49′40.33″-90°)×3.75=87290.012 Y边=Y中+sin(α±90°)×LY边=1035.905+sin(359°49′40.33″-90°)×3.75=1032.155线路右侧计算:X边=X中+cos(α±90°)×LX边=87290.023+cos(359°49′40.33″+90°)×7.05=87290.044 Y边=Y中+sin(α±90°)×LY边=1035.905+sin(359°49′40.33″+90°)×7.05=1042.955三、公式解析公式解析一.坐标转换X =A +NCOSα-ESINαY =B +NSINα+ECOSα N=(X-A) COSα±(Y-B)SINα E=(Y-B)COSα±(X-A)SINαA,B为施工坐标系坐标原点α为施工坐标系与北京坐标系X轴的夹角(旋转角)即大地坐标系方位角X,Y为北京坐标值N,E为施工坐标值二.方位角计算1.直线段方位角: α=tanˉ¹ [(Yb-Ya)/(Xb-Xa)]2.交点转角角度: α=2 tanˉ¹ (T/R)计算结果①为﹢且<360,则用原数;②为﹢且>360,则减去360;③为﹣,则加上180.3.缓和曲线上切线角: α=ƟZH±90°*Lo²/(π*R* Ls)α= Lo/(2ρ)=Lo²/(2 A²)=Lo²/(2R*Ls)ρ—该点的曲率半径4.圆曲线上切线角: α=ƟHY±180°*Lo/(π*R)ƟZH—直缓点方位角, ƟHY—缓圆点方位角,注:以计算方向为准,左偏,取"﹣";右偏,取"﹢"。
坐标的计算

坐标的计算在数学和几何学中,坐标是一种用来表示点在空间中位置的系统。
坐标可以是一维、二维或三维的,取决于我们所处的空间维度。
计算坐标是数学和工程应用中经常使用的基本操作之一,它可以帮助我们准确地描述和定位物体、位置或事件。
一维坐标计算一维坐标是最简单的坐标系统,它只需要一个轴来表示位置。
我们可以使用一个数值来表示点在轴上的位置,通常称为坐标值。
在一维坐标中,计算两个点之间的距离是一个常见的问题。
假设我们有两个点A和B,在同一条轴上。
点A的坐标值为xA,点B的坐标值为xB。
那么点A和点B之间的距离可以通过以下公式计算:距离 = |x_B - x_A|二维坐标计算二维坐标系统使用两个轴(通常是x轴和y轴)来表示平面上的位置。
与一维坐标类似,我们可以使用两个数值(x坐标和y坐标)来表示点的位置。
在二维坐标中,计算两个点之间的距离也是一个常见的问题。
假设我们有两个点A和B,在平面上。
点A的坐标为(xA, yA),点B的坐标为(xB, yB)。
那么点A和点B之间的距离可以通过以下公式计算:距离= √((x_B - x_A)² + (y_B - y_A)²)除了计算距离,我们还可以进行坐标的移动和旋转操作。
坐标的移动可以通过给定一个平移向量来实现。
假设我们有一个点P的坐标为(xP, yP),我们想把它移动到一个新的坐标位置(xP’, yP’)。
我们可以通过以下公式计算新的坐标位置:x_P' = x_P + Δxy_P' = y_P + Δy其中,Δx和Δy是平移向量的分量。
三维坐标计算三维坐标系统使用三个轴(通常是x轴、y轴和z轴)来表示物体在空间中的位置。
与二维坐标类似,我们可以使用三个数值(x坐标、y坐标和z坐标)来表示点的位置。
在三维坐标中,我们可以通过类似的方式计算两个点之间的距离。
假设我们有两个点A和B,在空间中。
点A的坐标为(xA, yA, zA),点B的坐标为(xB, yB, zB)。
坐标万能计算公式

万能坐标计算公式X=起点x+(待求点桩号-起点桩号)*【0.1184634425*COS(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.046910077+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.046910077^2)+0.2393143352*COS(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.2307653449+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.2307653449^2)+0.2844444444*COS(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.5+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.5^2)+0.2393143352*COS(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.7692346551+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.7692346551^2)+0.1184634425*COS(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.953089923+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.953089923^2))+边距*COS(偏角+起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)】Y=起点Y+(待求点桩号-起点桩号)*【0.1184634425*SIN(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.046910077+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.046910077^2)+0.2393143352*SIN(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.2307653449+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.2307653449^2)+0.2844444444*SIN(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.5+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.5^2)+0.2393143352*SIN(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.7692346551+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.7692346551^2)+0.1184634425*SIN(起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)*0.953089923+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)*0.953089923^2))+边距*SIN(偏角+起始方位角/180*3.14159265+起点曲率*(待求点桩号-起点桩号)+0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号)*(待求点桩号-起点桩号)】切线方位角A=起始方位角+(终点曲率*(待求点桩号-起点桩号) +0.5*(终点曲率-起点曲率)/(终点桩号-起点桩号)*(待求点桩号-起点桩号) ^2)*180/3.14159265。
坐标反算的计算公式

坐标反算的计算公式坐标反算是根据两点的坐标计算它们之间的距离和方位角的过程。
这在测量、地理、工程等领域都有着广泛的应用。
咱先来说说坐标反算的公式哈。
假设已知点 A 的坐标为(X₁,Y₁),点 B 的坐标为(X₂,Y₂),那么两点之间的水平距离 D 就可以通过下面这个公式算出来:D = √[(X₂ - X₁)² + (Y₂ - Y₁)²] 。
至于方位角α嘛,那就得用反正切函数来算了。
不过这里要注意一下象限的问题。
计算公式是:α = arctan[(Y₂- Y₁)/(X₂- X₁)] 。
我给您举个例子吧。
有一次我去一个建筑工地,工人们正在进行地基的测量工作。
他们需要确定两个测量点之间的距离和方位,以便准确地规划建筑物的位置。
当时我就在旁边看着,只见测量员熟练地使用仪器获取了两点的坐标,然后迅速在纸上进行计算。
他嘴里还念叨着这些公式,神情专注又认真。
在计算距离的时候,他先把坐标值代入公式,一步一步地计算,算出的结果跟仪器直接测量出来的距离相差无几,这让周围的人都对他的专业能力赞不绝口。
而在计算方位角的时候,他特别小心地考虑了坐标的正负,判断出所在的象限,最终得出了准确的方位角。
这整个过程让我深切地感受到,坐标反算的公式虽然看起来有点复杂,但只要掌握好了,在实际工作中那可真是太有用了。
回到咱们说的坐标反算,在实际应用中,这些公式可不是光在纸上算算就行的。
比如说在道路设计中,工程师们要根据路线上各个点的坐标来计算弯道的角度和长度,这时候坐标反算就能帮他们准确地规划出道路的走向。
再比如在地理信息系统中,通过坐标反算可以确定两个地点之间的相对位置和距离,这对于资源分配、规划城市发展等都有着重要的意义。
总之,坐标反算的计算公式虽然看似枯燥,但它们在实际生活中的应用却非常广泛和实用。
掌握好这些公式,就像是拥有了一把解决各种空间位置问题的钥匙,可以让我们在各种领域中更加得心应手。
希望您也能熟练掌握这些公式,为您的工作和学习带来便利!。
坐标及方位角计算

坐标及方位角计算坐标和方位角是地理学和导航中常用的概念,用于确定一个地点在地球上的位置和方向。
坐标通常用经度和纬度表示,而方位角则是用于确定一个地点相对于另一个地点的方向。
在本文中,我们将介绍坐标和方位角的计算方法。
1.坐标的计算方法:坐标是用经度和纬度来表示一个地点在地球上的位置。
经度是指一个地点距离地球上子午线的距离,而纬度是指一个地点距离地球赤道的距离。
计算经度和纬度的方法如下:-经度的计算方法:经度的取值范围是从-180度到180度。
以本初子午线(通过伦敦的经线)为基准,向东为正,向西为负。
可以通过使用全球定位系统(GPS)或使用地图上的比例尺来确定一个地点的经度。
-纬度的计算方法:纬度的取值范围是从-90度到90度。
以地球赤道为基准,向北为正,向南为负。
可以通过使用全球定位系统(GPS)或使用地图上的比例尺来确定一个地点的纬度。
2.方位角的计算方法:方位角是用于确定一个地点相对于另一个地点的方向的角度。
方位角通常使用正北方向为基准,顺时针方向计算。
计算方位角的方法如下:-使用经纬度计算方位角:首先,计算两个地点的经度差和纬度差。
然后,使用三角函数(正弦、余弦或正切)计算两个地点之间的夹角。
最后,将夹角转换为以度为单位的方位角。
-使用几何图形计算方位角:将两个地点的经纬度绘制在一张地图上,并为两个地点之间的连线添加标记。
然后,使用直线夹角定理计算连线的夹角。
最后,使用罗盘或直尺等工具,将夹角转换为以度为单位的方位角。
总结:坐标和方位角是地理学和导航中常用的概念,用于确定一个地点在地球上的位置和方向。
坐标使用经度和纬度来表示一个地点的位置,而方位角用于确定一个地点相对于另一个地点的方向。
计算坐标和方位角的方法可以通过使用全球定位系统(GPS)、地图上的比例尺或几何图形等方法来进行。
角度、坐标测量计算公式细则

计算细那么1、坐标计算:X 1=X+Dcosα,Y1=Y+Dsin α。
式中Y 、 X 为坐标, D 为两点之间的距离,Α 为方位角。
2、方位角计算:1〕、方位角 =tan=两坐标增量的比值,然后用计算器按出他们的反三角函数〔±号判断象限〕。
2〕、方位角: arctan〔 y2- y1)/(x2-x 1)。
加减 180〔大于 180 就减去 180〔还大于 360 就在减去 360〕、小于 180 就加 180 如果 x 轴坐标增量为负数,那么结果加 180°。
如果为正数,那么看 y 轴的坐标增量,如果 Y 轴上的结果为正,那么算出来的结果就是两点间的方位角,如果为负值,加360°。
S=√(y2- y1)+(x2-x 1),1)、当 y2- y1>0,x2-x 1>0 时;α =arctan〔 y2- y1)/(x2-x 1)。
2)、当 y2- y1<0,x2-x 1>0 时;α =360° +arctan〔y2- y1)/(x2-x 1)。
3)、当 x2-x 1<0 时;α =180° +arctan〔y2- y1)/(x2-x 1)。
再用两点之间的距离公式可算距离(根号下两个坐标距离差的平方相加〕。
拨角: arctan〔y2- y1)/(x2-x 1)1、例如:两条巷道要互相平行掘进的话,求它们的拨角:方法〔前视边方位角减后视边方位〕在此后视边方位要加减 180°,假设拨角结果为负值为左偏“逆时针〞〔 +360°就可化为右偏,正值为右偏“顺时针〞。
2、在图上标识方位的方法:就是导线边与Y 轴的夹角。
3、高程计算:目标高程 =测点高程 +?h〔高差〕 +仪器高—占标高。
4、直角坐标与极坐标的换算:〔直角坐标用坐标增量表示;极坐标用方位角和边长表示〕1〕、坐标正算〔极坐标化为直角坐标〕一个点的坐标及该点至未知点的距离和方位角,计算未知点坐标方位角,知A(Xa,Ya) 、Sab、αab,求 B(Xa,Ya)解: ?Xab=Sab×COSαab 那么有 Xb=Xa+?Xab ?Yab=Sab × SIN αab Yb=Ya+?Yab2)、坐标反算,两点的坐标,求两点的距离〔称反算边长〕和方位角(称反算方位角〕的方法A(Xa,Ya) 、 B(Xb,Yb), 求α ab、 Sab。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、程序功能
本程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、止点里程、起点曲率、止点曲率)及里程边距或坐标,对该曲线段范围内(如不在该范围则自动转入下一线元)任意里程中边桩坐标进行正反算。
二、源程序
1.主程序(FQXZB)
Lbl 0:{HR}:N:U"XA":V"YA":O"DKA":G"F0":H"DKB":P"1/RA":R"1/RB":Q:D=(R-P)/(2Abs(H-O)):E=180/π:N=1=>Goto 1:≠>Goto 4Δ←┘
Lbl 1:{SZ}:S"DKI":S>=H=>S=HΔW=Abs(S-O):Prog SUB1:X"XS"=X◢
Y"YS"=Y◢
S=H=>Goto 5←┘
Lbl 2:{Z}:Z:F=G+QEW(P+WD)+90:I"XZ"=X+ZcosF◢
J"YZ"=Y+ZsinF◢ Goto 3
Lbl 3:{C}:C:C=0=>Goto 1:≠>Goto 2Δ
Lbl 4:{XY}:XY:I=X:J=Y:Prog SUB2:S"S"=O+W◢
Z"Z"=Z◢
Goto 4
Lbl 5:U=X:V=Y:O=H:G=G+180Q(WD+P)W/π:P=R
Goto 0
2. 子程序(SUB1)
A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:F=1-L:M=1-K:C=G+QEMW(P+MWD):X=U+W(Acos(G+QEKW(P+KWD))+Bcos(G+QELW(P+LWD))+Bcos(G+QEFW(P+FWD))+Acos C):
Y=V+W(Asin(G+QEKW(P+KWD))+Bsin(G+QELW(P+LWD))+Bsin(G+QEFW(P+FWD))+Asin C)
3. 子程序(SUB2)
T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog SUB3:L=T+QEW(P+WD):Z=(J-Y)cosL-(I-X)sinL:AbsZ<1E-6=>Goto1:≠>W=W+Z:Goto 0Δ←┘Lbl 1:Z=0:Prog SUB3:Z=(J-Y)÷sinF
4. 子程序(SUB3)
Prog SUB1:F=G+QEW(P+WD)+90:X=X+ZcosF:Y=Y+ZsinF
三、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。
(3) 当线元为直线时,其起点、止点的曲率为0。
(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率均等于圆弧的半径的倒数。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率为0;与圆曲线相接时,曲率等于圆曲线的半径的倒数。
止点与直线相接时,曲率为0;与圆曲线相接时,曲率等于圆曲线的半径的倒数。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率等于设计规定的值;与圆曲线相接时,曲率等于圆曲线的半径的倒数。
止点与直线相接时,曲率等于设计规定的值;与圆曲线相接时,曲率等于圆曲线的半径的倒数。
2、输入与显示说明
输入部分:
N ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入非1值表示由坐标反算里程和边距。
XA ?线元起点的X坐标
YA ?线元起点的Y坐标
DKA ?线元起点里程
F0 ?线元起点切线方位角
DKB ?线元止点里程
1/RA ?线元起点曲率
1/RB ?线元止点曲率
Q ?线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
DKI ?正算时所求点的里程
Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X ?反算时所求点的X坐标
Y ?反算时所求点的Y坐标
显示部分:
XS=×××正算时,计算得出的所求点的X坐标
YS=×××正算时,计算得出的所求点的Y坐标
S=×××反算时,计算得出的所求点的里程
Z=×××反算时,计算得出的所求点的边距
在程序中只有"Lbl"和"Goto"后面是数字零,另外在"Lbl 3:{C}:C:C=0"是零,其余的均为英文字母"O".
"AbsZ〈1E-6=〉Goto1"中的"1E-6"表示10的负6次方,即"如果Z的绝对值<0.000001则转到Lbl1".。