万能方位角计算公式
方位角的计算方法
方位角的计算方法有多种,根据公式与工具有不同,现有四种计算方法:一、测量教材上的计算方法,需要判断象限,对了解原理有一定帮助,但在实际工作中不太实用,在此不予介绍,使用此方法计算的VB或VBA代码如下:Public Const PI = 3.14159265359Function Pol(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double '计算直线的方位角Dim Sub_y As DoubleSub_y = Abs(y2 - y1)If Sub_y = 0 ThenSub_y = 0.0000000001End IfPol = Atn((Abs(x2 - x1)) / Sub_y)If x2 > x1 And y2 >= y1 Then '0-90ElseIf x2 < x1 And y2 <= y1 Then '180-270Pol = PI + PolElseIf x2 < x1 And y2 >= y1 Then '270-360Pol = 2 * PI - PolElseIf x2 >= x1 And y2 <= y1 Then '90-180Pol = PI - PolEnd IfEnd Function二、计算器上的pol()函数,用pol(dx,dy)计算,返回两点间距离与方位角,如角度值为负+360即可,具体使用方法参照说明书上的pol()函数介绍;三、方位角通用万能公式:此万能公式的VB或VBA代码如下:Public Const PI = 3.14159265359Function Pol(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double '计算直线的方位角Dim Sub_x As DoubleSub_x = x2 - x1 + 0.0000000001Pol = PI - Sgn(Sub_x) * PI / 2 - Atn((y2 - y1) / Sub_x)End Functionsgn()函数为符号函数:sgn(x)的值只有三个:当x小于0时sgn(x)的值为-1当x大于0时sgn(x)的值为1当x等于0时sgn(x)的值为0计算器上没有此函数,在编程时可用下列代码实现此函数功能:if x<0 thensgn(x)=-1elseif x>0 thensgn(x)=1eslesgn(x)=0end if四、另一个通用公式:S12=sqr((x2-x1)2+(y2-y1)2)= sqr(△x2+△y2)A12=arcsin((y2-y1)/S12)S12为测站点1至放样点2的距离;A12为测站点1至放样点2的坐标方位角。
方位角计算公式范文
方位角计算公式范文方位角是指从一个参考方向(通常是正北方向)起,按顺时针方向测量到其中一方向线的角度。
方位角通常用度数表示,范围从0度到360度。
下面介绍常见的方位角计算公式:1.方位角计算公式(两点坐标):假设已知起点坐标A(x1,y1)和终点坐标B(x2,y2),方位角θ的计算公式如下:θ = atan2(y2 - y1, x2 - x1)其中,atan2函数是一个双变量反正切函数,返回值为[-π, π]之间的角度值。
注意:上述公式计算得到的θ是以正北方向为参考的方位角。
如果要将方位角转换为以其他方向为参考的角度(如正东方向为0度),可以将θ减去相应的修正值。
2.方位角计算公式(两点经纬度):假设已知起点的经度(lon1)、纬度(lat1)和终点的经度(lon2)、纬度(lat2),方位角θ的计算公式如下:θ = atan2(sin(Δlon) * cos(lat2), cos(lat1) * sin(lat2) -sin(lat1) * cos(lat2) * cos(Δlon))其中,Δlon = lon2 - lon1是两点经度差。
注意:上述公式计算得到的θ是以正北方向为参考的方位角。
如果要将方位角转换为以其他方向为参考的角度(如正东方向为0度),可以将θ减去相应的修正值。
3.方位角计算公式(方向余弦矩阵):方向余弦矩阵(Direction Cosine Matrix)是一种将方位角和俯仰角等转化为三维空间坐标旋转的方式。
方向余弦矩阵的计算公式如下:D=[ cos(θ) * cos(φ), sin(θ) * cos(φ), -sin(φ) ][ -sin(θ), cos(θ), 0 ][ cos(θ) * sin(φ), sin(θ) * sin(φ), cos(φ) ]其中,θ是方位角,φ是俯仰角。
D是一个3行3列的矩阵,表示坐标变换矩阵。
上述是常见的方位角计算公式,根据不同的应用场景和问题,可能还会有其他的计算公式。
坐标万能计算公式
万能坐标计算公式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。
方位角
• 左角公式: • 右角公式:
α前 = α后 +180 + β左 α前 = α后 +180 - β右
° °
°
°
• 方位角的范围: 0 ≤α < 360 当
α > 360
°
° 360 时,应减去
测绘工程系
1
2019年1月20日星期日
•方位角的推算
已知:AB=76°20′,B=185°42′,1=211°08 ′ ,2=150 °45 ′
方位角推算公式: αij α AB ∑ β左 - n 180
αij = α AB
测绘工程系
3
° β + n × 180 ∑右
2019年1月20日星期日
§5-8 三角高程测量
●三角高程测量是一种间接测定两点之间高差的方法 要求观测两点之间的水平距离D(或斜距S)以及两点 之间的垂直角。 使用于山区或不便于进行水准测量的地区。
D2 f = f1 + f 2 = (1 - k ) 2R
测绘工程系
6
o
2019年1月20日星期日
三角高程测量中的“球气差”改正
D2 球差改正: f1 = + 2 R 2 D 气差改正: f = -k 2 2R
经研究,因大气折光引起 的视线曲率半径约为地球 曲率半径的7倍,取k=1/7
两差改正:
D f = f1 + f 2 = (1 - k ) 2R
解:
B1=AB+B-180° =AB°+B-180 ° AB =76°20′+185°42′ -180°
பைடு நூலகம்=82°02′
B
B1
坐标,方位角计算公式
坐标,方位角计算公式坐标方位角=磁方位角+(±磁坐偏角)。
方位角是卫星接收天线,在水平面上转0°-360°。
设定方位角时,抛物面在水平面上左右移动。
方位角(方位角,缩写为Az)是用于测量平面中物体之间的角度差的方法之一。
它是从点的北方向顺时针方向和目标方向之间的水平角度。
一、计算方法1、按给定的坐标数据计算方位角αBA、αBPΔxBA=xA-xB=+123.461m;ΔyBA=yA-yB=+91.508m;由于ΔxBA>0,ΔyBA>0;可知αBA位于第Ⅰ象限,即αBA=arctg=36°32'43.64";ΔxBP=xP-xB=-37.819m;ΔyBP=yP-yB=+9.048m;由于ΔxBP<0,ΔyBP>0;公式计算出来的方位角,可知αBP位于第Ⅱ象限。
αBP=180o-α=180o-arctg=180o-13o27'17.33"=166°32'42.67";此外,当Δx<0,Δy<0;位于第Ⅲ象限,方位角=180°+arctg;当Δx>0,Δy<0;位于第Ⅳ象限,方位角=360°-arctg。
2、计算放样数据∠PBA、DBP∠PBA=αBP-αBA=129°59'59.03"。
3、测设时,把经纬仪安置在B点,瞄准A点,按顺时针方向测设∠PBA,得到BP方向,沿此方向测设水平距离DBP,就得到P点的平面位置。
当受地形限制不便于量距时,可采用角度交会法测设放样点平面位置上例中,当BP间量距受限时,通过计算测设∠PAB、∠PBA来定P点。
根据给定坐标计算∠PAB;ΔxAP=xP-xA=-161.28m;ΔyAP=yP-yA=-82.46m;αAP=180°+arctg=207°4'47.88";又αAB=180°+αBA=180°+36°32'43.64"=216°32'43.64";∠PAB=αAB-αAP=9°27'55.76"。
坐标方位角通用计算公式
坐标方位角通用计算公式及编程方法1、坐标方位角通用计算公式:α=180°-90°sgn(ΔY)-arctan(ΔX/ΔY)坐标增量取值范围为:ΔY≠0,若ΔY=0则令ΔY等于一个无穷小量(可以用1E220作为无穷小量取代0),通式值域为[0°,360°])。
2、编程计算本程序在计算机上运行时应根据适当的语言进行改编。
If ΔY=0 then ΔY=1E-20I=pi-pi×sgn(ΔY)/2-tan-1(ΔX/ΔY)Endif3、相关转化常量表1弧度=206264.8062″1弧度=57.2957795130823°1度=1.74532925199433E-02弧度(0.0174532925199433弧度)π=3.141592653589794、取西安80坐标系的长半轴6378140m,以赤道为例:1(经)度=6378140*3.1415926/180=111319m=111.3km1(经)分=6378140*3.1415926/180/60=1855m=1.8km1(经)秒=6378140*3.1415926/180/3600=30.9m5、基础知识(1)我国位于东经135度02分至东经73度40分,经差61度22分。
以6度带投影的话,位于第13号至23号带。
中央经线75度至135度。
以3度带投影的话,位于第25号至45号带。
中央经线75度至135度。
(2)我国位于北纬3度52分至北纬53度33分,纬差49度41分。
X北坐标的范围X北坐标最小值= 3度*111.3km + 52分* 1.8km =427.5km X北坐标最大值= 53度* 111.3km + 33分* 1.8km =5948.4km以米为单位的话,X北坐标有6至7位(3)以6度带计算的话,不加500km时,Y东坐标轴的正值和负值最大的绝对值=3度*111.3km=333.9km,Y东坐标加上500km后,Y最小值=500-333.9=166.1km,Y最大=500+333.9=833.9km(当然这是是位于赤道上的最大值和最小值,我国大陆位于赤道以北,相应要小于这两个极值)另外完整的Y东坐标还要以带号开头,所以以米为单位的话,Y坐标有8位。
万能方位角计算公式
先计算出坐标增量:dX=Xb-XadY=Yb-YadY=dY+1E-10 为了使除数不为零而加一个很小的数方位角计算万能公式:Az=pi * (1-Sgn(dY)/2)-Atn(dX / dY)单位为弧度 Az=Az * 180 /pi 单位为度此公式计算无需判断象限,只需在值小于0时加上360即可!其中,sgn()为求符号函数,若dX<0时其值为-1,dX>0时为1,dX=0时为0。
使用此公式不用判断所在象限,直接将坐标增量代入即可求出方位角值,在用计算器编程时若没有SGN()函数可自行判断并用一个变量代替!VBA代码:'方位角计算函数 Azimuth()'Sx为起点X,Sy为起点Y'Ex为终点X,Ey为终点Y'Style指明返回值格式'Style=-1为弧度格式'Style=0为“DD MM SS”格式'Style=1为“DD-MM-SS”格式'Style=2为“DD°MMˊSS""”格式'Style=其它值时返回十进制度值Function Azimuth(Sx As Double, Sy As Double, Ex As Double, Ey As Double, Style As Integer)Dim DltX As Double, DltY As Double, A_tmp As Double, Pi As DoublePi = Atn(1) * 4 '定义PI值DltX = Ex - SxDltY = Ey - Sy + 1E-20A_tmp = Pi * (1 - Sgn(DltY) / 2) - Atn(DltX / DltY) '计算方位角A_tmp = A_tmp * 180 / Pi '转换为360进制角度Azimuth = Deg2DMS(A_tmp, Style)End Function'转换角度为度分秒'Style=-1为弧度格式'Style=0为“DD MM SS”格式'Style=1为“DD-MM-SS”格式'Style=2为“DD°MMˊSS""”格式'Style=其它值时返回十进制度值Function Deg2DMS(DegValue As Double, Style As Integer)Dim tD As Integer, tM As Integer, Ts As Double, tmp As DoubletD = Int(DegValue)tmp = (DegValue - tD) * 60tM = Int(tmp)tmp = (tmp - tM) * 60Ts = Round(tmp, 1)select Case StyleCase -1 '返回弧度Deg2DMS = DegValue * Atn(1) * 4 / 180Case 0Deg2DMS = tD & " " & Format(tM, "00") & " " & Format(Ts, "00.0")Case 1Deg2DMS = tD & "-" & Format(tM, "00") & "-" & Format(Ts, "00.0")Case 2Deg2DMS = tD & "°" & Format(tM, "00") & "ˊ" & Format(Ts, "00.0") & """" Case ElseDeg2DMS = DegValueEnd SelectEnd FunctionFunction pol(AX As Double, AY As Double, Bx As Double, By As Double) As Stringpol = Azimuth(AX, AY, Bx, By, 2) & " " & Distance(AX, AY, Bx, By, 3)End FunctionFunction rec(alpha As String, dist As Double) As StringDim Alpha_Rad As DoubleAlpha_Rad = StringToRad(alpha)rec = "dx:" & Round(Cos(Alpha_Rad) * dist, 3) & " dy:" &Round(Sin(Alpha_Rad) * dist, 3)End FunctionFunction StringToRad(strAz) '将字符串格式方位角转换成弧度格式Dim azSubStrIf strAz <> "" ThenazSubStr =Split(strAz, "-")If UBound(azSubStr) = 2 ThenStringToRad = (azSubStr(0) + azSubStr(1) / 60 + azSubStr(2) / 3600) * Atn(1) * 4 / 180ElseStringToRad = 0End IfElseStringToRad = 0End IfEnd Function。
两点反算方位角的通用公式
两点反算方位角的通用公式两个点之间计算方位角普通的办法是计算角度,然后根据X/Y的正负号判断在哪个象限,然后再计算出来,这是很麻烦的一件事,下面和大家介绍一个比较简单的通用计算公式。
假设A、B连个点,坐标分别为(XA、YA),(XB、YB),下面计算A—to—B的坐标方位角,我们可以用以下公式进行计算:a ab=PI-PI/2*SIGN(YB-YA)-ATAN((XB-XA)/(YB-YA))SIGN()是取符号(正负)函数Excel中三角函数计算出来的是弧度下面用该公式对方位角在四个象限的情况进行证明:1、第一象限图中a=|ATAN((XB-XA)/(YB-YA))|,由于(YB-YA)为正,(XB-XA)为正,则a ab=PI-PI/2*SIGN(YB-YA)-ATAN((XB-XA)/(YB-YA))=PI/2-a由此可见公式正确2、第二象限图中a=|ATAN((XB-XA)/(YB-YA))|,由于(YB-YA)为正,(XB-XA)为负,则a ab=PI-PI/2*SIGN(YB-YA)-ATAN((XB-XA)/(YB-YA))=PI/2+a由此可见公式正确3、第三象限图中a=|ATAN((XB-XA)/(YB-YA))|,由于(YB-YA)为负,(XB-XA)为负,则a ab=PI-PI/2*SIGN(YB-YA)-ATAN((XB-XA)/(YB-YA))=3/2PI-a由此可见公式正确4、第四象限图中a=|ATAN((XB-XA)/(YB-YA))|,由于(YB-YA)为负,(XB-XA)为正,则a ab=PI-PI/2*SIGN(YB-YA)-ATAN((XB-XA)/(YB-YA))=3/2PI+a由此可见公式正确从以上证明可以确定该公式对于四个象限的方位角都能进行正确计算。
不过需要说明的是当(YB-YA)为0时会出现bug,这种特例需要我们在实际工作中进行特殊处理。
方位角及坐标计算
方位角及坐标计算1.方位角的定义方位角是指从固定参考方向(通常为正北方向)开始,逆时针旋转到目标点所需的角度。
方位角通常用度数表示,范围从0度到360度。
2.极坐标与直角坐标系方位角及坐标计算通常使用极坐标系和直角坐标系两种坐标系统。
极坐标系以起始点为极点,水平线为参考线,方位角为极角,距离为极径;直角坐标系以起始点为原点,在水平和垂直方向上建立坐标轴,利用x、y坐标表示目标点的位置。
3.方位角的计算计算方位角的基本公式如下:方位角 = atan2(y2 - y1, x2 - x1)其中,(x1,y1)为起始点的坐标,(x2,y2)为目标点的坐标。
4.坐标的计算利用已知的方位角及距离,可以计算出目标点的坐标。
计算公式如下:x2 = x1 + D * cos(θ)y2 = y1 + D * sin(θ)其中,(x1,y1)为起始点的坐标,(x2,y2)为目标点的坐标,D为距离,θ为方位角。
5.示例假设起始点坐标为(0,0),距离为10,方位角为45度,计算目标点的坐标。
首先,将方位角转化为弧度,45度=45*π/180=0.7854弧度。
然后,代入公式计算:x2 = 0 + 10 * cos(0.7854) ≈ 7.07y2 = 0 + 10 * sin(0.7854) ≈ 7.07所以,目标点的坐标为(7.07,7.07)。
6.扩展应用总结:方位角及坐标计算是一种通过已知的方位角、距离和起始点的坐标来计算目标点的坐标的方法。
通过利用极坐标和直角坐标系的转换,可以快速计算出目标点的位置。
方位角及坐标计算在航海、地理测量学以及航空航天等领域有广泛的应用。
测量方位角计算公式
测量方位角计算公式测量方位角是指通过其中一种方法求得一些目标物体相对于指定基准方向的角度。
方位角通常使用度数表示,以正北方向为基准,沿顺时针方向递增,范围为0到360度。
测量方位角在地理导航、测量工程、天文学等领域有着广泛的应用。
计算方位角的公式主要有以下几种:1. 方位角 = atan((E - E0) / (N - N0))其中,E、N为目标物体的东北坐标,E0、N0为基准点的东北坐标。
该公式适用于平面坐标系。
2. 方位角 = atan2(E - E0, N - N0)其中,E、N为目标物体的东北坐标,E0、N0为基准点的东北坐标。
该公式适用于平面坐标系,可以通过atan2函数直接得到方位角,避免了先计算斜率再反求角度的过程。
3. 方位角= atan((sin(ΔL) * cos(L2)) / (cos(L1) * sin(L2) - sin(L1) * cos(L2) * cos(ΔL)))其中,ΔL为目标物体经度减去基准点经度的差值,L1、L2分别为目标物体和基准点的纬度。
该公式适用于地理坐标系。
4. 方位角= arc tan((sin(Δλ) * cos(φ2)) / (cos(φ1) *sin(φ2) - sin(φ1) * cos(φ2) * cos(Δλ)))其中,Δλ为目标物体经度减去基准点经度的差值,φ1、φ2分别为目标物体和基准点的纬度。
该公式适用于地理坐标系,常用于计算大地方位角。
这些公式的推导及原理比较复杂,涉及到三角学和二元一次方程等知识。
在实际应用中,可以通过使用现成的工具或软件来计算方位角,如地图软件、GPS定位设备等。
这些工具会自动计算目标物体相对于基准方向的角度,准确性高、方便快捷,可以满足大部分测量需要。
需要注意的是,测量方位角是基于特定坐标系的,不同坐标系的方位角计算公式可能有所不同。
另外,由于地球是一个球体,使用平面坐标系进行测量会引入一定的误差,尤其是在较长的距离范围内。
方位角的计算方法
方位角的计算方法:(已知方位角+水平角大于540°-540°)已知方位角+水平角±180°=方位角坐标增量的计算方法:平距×COS方位角=△X坐标增量平距×Sin方位角=△Y坐标增量坐标的计算方法:已知X坐标±△X坐标增量=X坐标已知Y坐标±△Y坐标增量=Y坐标高差、平距的计算方法:斜距×Sin倾角=高差斜距×COS倾角=平距高差÷Sin倾角=斜距平距÷cos已知度分秒=斜距高程的计算方法:已知高程-仪器高+前视高±高差=该点的顶板高差原始记录计算方法:前视-后视相加÷2=水平角(前视不够-后视的+360°再减)后视 00°00′00″ 180°00′09″前视92°49′02″272°49′13″水平角= 92°49′03″实测倾角:正镜-270°倒镜-90°(正、倒镜相加-360°)实例: 110°30′38″-90°= 00°30′38″实例: 270°30′38″-270°= 00°30′38″激光的计算方法:两点的高程相减:比如:5点高程1479、479-4点高程1471、052 = 8、427 两点之间的平距:60、673×tan7°19′25″=7、7988、427-7、797=0、629(上山前面的点一定高于后面的点,所以前面的点减后面的点)测量:1、先测后视水平角:归零,倒镜180°不能误差15′2、前视:先测水平角并读数记录,然后倒镜测倾角,水平角、平距、斜距、高差、量出仪器高,前视量出前视高。
要求方位角-已知方位角±180°=拨角方位画两千的图:展点用0.6正好.倾角的计算方法:180°以下的-90°270°-超过180°的两点的高差除平距按tan=倾角比如:2点1500、026-6点1484、096=15、932点~6点平距=127、8315、93÷127、83=接按第二功能键、接按tan接按=接按度分秒键完事。
日出日落的方位角度计算公式[整理]
计算日出日落的方位角度公式要计算任意一个地方在任意一天日出日落的方位角度,可以用下面的公式:方位角=90 - 0.5arccos[2(sinM/cosN)^2- 1]公式中,M表示的是某天太阳直射的纬度,N表示的是某地的纬度,^2表示平方。
例如,北京在北纬40度,则N=40,夏至这一天太阳在北纬23.5度(太阳直射北纬23.5度),即M=23.5,把N和M的值代入上式,可求得方位角=31度意思是,夏至这一天,在北京的人看来,太阳是从东偏北31度的方位升起的,是在西偏北31度的方位落下的。
说明:1本公式是在理想条件下推导出来的,即假设地球是个标准球体。
而实际上地球两极略扁,而且各地也有高山、洼地等,所以计算结果可能与实测结果有一点误差。
2 太阳围绕地球旋转的轨迹实际上是螺旋线(好象在地球外面套一根弹簧),所以实际上每天日出和日落的方位角稍微有点差别。
例如,在春分到夏至这段时间,日出方位角要略小于日落方位角。
昼夜长短的计算公式:Cost=-tgδ*tgφ太阳视位置太阳视位置指从地面上看到的太阳的位置,用太阳高度角和太阳方位角两个角度作为坐标表示。
太阳高度角指从太阳中心直射到当地的光线与当地水平面的夹角,其值在0°到90°之间变化,日出日落时为零,太阳在正天顶上为90°(本万年历中显示的高度角均已进行了蒙气差的订正,蒙气差值取自天文年历)。
太阳方位角即太阳所在的方位,指太阳光线在地平面上的投影与当地子午线的夹角,可近似地看作是竖立在地面上的直线在阳光下的阴影与正南方的夹角。
方位角以正南方向为零,由南向东向北为负,由南向西向北为正,如太阳在正东方,方位角为-90°,在正东北方时,方位为-135°,在正西方时方位角为90°,在正北方时为±180°。
实际上太阳并不总是东升西落,只有在春秋分两天,太阳是从正东方升,正西方落。
在北半球,从春分到秋分的夏半年中,太阳从东偏北的方向升(方位角为-90°到-180°之间),在西偏北的方向落(方位角为90°到180°之间);而从秋分到下一年春分的冬半年中,太阳从东偏南的方向升(方位角为-90°到0°之间),在西偏南的方向落(方位角为0°到90°之间)。
方位角的计算方法
方位角的计算方法方位角是指在平面直角坐标系中,特定点与正方向x轴之间逆时针方向的夹角。
它在数学、地理、航空航天等领域中都有广泛的应用。
计算方位角的方法主要有以下几种:1.基于直角坐标系的计算:假设有两个点A(x1, y1)和B(x2, y2),首先需要计算出两点之间的直线斜率k = (y2 - y1) / (x2 - x1)。
然后利用反正切函数,通过求解arctan(k)得到弧度值θ。
最后利用单位换算,将弧度值θ转化为角度值α=θ * 180 / π,即为所求的方位角。
2.基于极坐标系的计算:在极坐标系中,一个点可以通过距离r和极角θ来表示。
假设有两个点A(r1,θ1)和B(r2,θ2),要计算两点之间的方位角,首先需要将两点的极角θ转化为弧度制,然后通过计算Δθ=θ2-θ1得到两点之间的相对角度。
最后利用单位换算,将相对角度Δθ转化为角度值α=Δθ*180/π,即得到方位角。
3.基于方向向量的计算:假设有两个点A(x1, y1)和B(x2, y2),可以将两点之间的连线看作一个方向向量。
首先需要计算出两点之间的方向向量V(x2 - x1, y2 - y1)。
然后利用反正切函数,通过求解arctan(Vy / Vx)得到弧度值θ。
最后利用单位换算,将弧度值θ转化为角度值α=θ * 180 / π,即为所求的方位角。
需要注意的是,在计算方位角时,可能会遇到特殊情况,例如:-当两点在同一直线上时,方位角为0或180度;-当两点重合时,方位角没有定义。
总结起来,方位角的计算方法有基于直角坐标系、极坐标系和方向向量三种方法,根据具体情况选择适合的方法进行计算。
方位角计算公式范文
方位角计算公式范文方位角是指物体或目标相对于参考点的方向,通常以度数或弧度来表示。
计算方位角可以使用三角函数来完成。
在平面直角坐标系中,参考点位置被设置为原点(0,0),目标点的位置被表示为(x,y)。
方位角定义为从参考点到目标点的射线与x轴正方向之间的夹角。
为了计算方位角,可以使用以下公式:```方位角 = arctan(y / x)```其中,arctan是反正切函数。
然而,上述公式存在一个问题,就是无法区分出目标点在第一象限或第三象限与目标点在第二象限或第四象限的情况。
为了解决这个问题,可以使用以下公式:```方位角= arctan(y / x) + 180°,如果x < 0 且 y > 0方位角= arctan(y / x) + 360°,如果x < 0 且 y < 0```如果使用弧度来表示方位角,上述公式可以稍作修改。
以上是计算平面上的方位角的基本公式,可以通过编程语言或数学软件来实现。
以下是一个示例代码,使用Python语言来计算方位角。
```pythonimport mathdef calculate_azimuth(x, y):if x == 0 and y == 0:return 0azimuth = math.degrees(math.atan(y / x))if x < 0 and y > 0:azimuth += 180elif x < 0 and y < 0:azimuth += 360return azimuthx = float(input("请输入目标点的x坐标:"))y = float(input("请输入目标点的y坐标:"))azimuth = calculate_azimuth(x, y)print("目标点的方位角为:", azimuth, "度")```以上代码通过输入目标点的坐标,计算出该目标点的方位角,并将结果以度数形式输出。
(整理)公路测量中的计算公式总结
公路测量中的计算公式总结一、方位角的计算公式1. 字母所代表的意义:x1:QD的X坐标y1:QD的Y坐标x2:ZD的X坐标y2:ZD的Y坐标S:QD~ZD的距离α:QD~ZD的方位角2. 计算公式:1)当y2- y1>0,x2- x1>0时:2)当y2- y1<0,x2- x1>0时:3)当x2- x1<0时:二、平曲线转角点偏角计算公式1. 字母所代表的意义:α1:QD~JD的方位角α2:JD~ZD的方位角β:JD处的偏角2. 计算公式:β=α2-α1(负值为左偏、正值为右偏)三、平曲线直缓、缓直点的坐标计算公式1. 字母所代表的意义:U:JD的X坐标V:JD的Y坐标A:方位角(ZH~JD)T:曲线的切线长,D:JD偏角,左偏为-、右偏为+2. 计算公式:直缓(直圆)点的国家坐标:X′=U+Tcos(A+180°) Y′=V+Tsin(A+180°)缓直(圆直)点的国家坐标:X″=U+Tcos(A+D)Y″=V+Tsin(A+D)四、平曲线上任意点的坐标计算公式1. 字母所代表的意义:P:所求点的桩号B:所求边桩~中桩距离,左-、右+ M:左偏-1,右偏+1C:JD桩号D:JD偏角L s:缓和曲线长A:方位角(ZH~JD)U:JD的X坐标V:JD的Y坐标T:曲线的切线长,I=C-T:直缓桩号J=I+L:缓圆桩号:圆缓桩号K=H+L:缓直桩号2. 计算公式:1)当P中桩坐标:X m=U+(C-P)cos(A+180°) Y m=V+(C-P)sin(A+180°)边桩坐标:X b=X m+Bcos(A+90°)Y b=Y m+Bsin(A+90°)2)当I中桩坐标:X m=U+Tcos(A+180°)+GcosO Y m=V+Tsin(A+180°)+GsinO边桩坐标:X b=X m+Bcos(A+MW+90°)Y b=Y m+Bsin(A+MW+90°)3)当J中桩坐标:边桩坐标:X b=X m+Bcos(O+MW+90°)Y b=Y m+Bsin(O+MW+90°)4)当H中桩坐标:X m=U+Tcos(A+MD)+GcosO Y m=V+Tsin(A+MD)+GsinO边桩坐标:X b=X m+Bcos(A+MD-MW+90°) Y b=Y m+Bsin(A+MD-MW+90°)5)当P>K时中桩坐标:X m=U+(T+P-K)cos(A+MD)Y m=V+(T+P-K)sin(A+MD)边桩坐标:X b=X m+Bcos(A+MD+90°)Y b=Y m+Bsin(A+MD+90°)注:计算公式中距离、长度、桩号单位:“米”;角度测量单位:“度”;若要以“弧度”为角度测量单位,请将公式中带°的数字换算为弧度。
角度坐标测量计算公式细则
计算细则1、坐标计算:X1=X+Dcosα,Y1=Y+Dsinα;式中 Y、X为已知坐标,D为两点之间的距离,Α为方位角;2、方位角计算:1、方位角=tan=两坐标增量的比值,然后用计算器按出他们的反三角函数±号判断象限;2、方位角:arctany2-y1/x2-x1;加减180大于180就减去180还大于360就在减去360、小于180就加180如果x轴坐标增量为负数,则结果加180°;如果为正数,则看y轴的坐标增量,如果Y轴上的结果为正,则算出来的结果就是两点间的方位角,如果为负值,加360°;S=√y2-y1+x2-x1,1)、当y2-y1>0,x2-x1>0时;α=arctany2-y1/x2-x1;2)、当y2-y1<0,x2-x1>0时;α=360°+arctany2-y1/x2-x1;3)、当x2-x1<0时;α=180°+arctany2-y1/x2-x1;再用两点之间的距离公式可算距离根号下两个坐标距离差的平方相加;拨角:arctany2-y1/x2-x11、例如:两条巷道要互相平行掘进的话,求它们的拨角:方法前视边方位角减后视边方位在此后视边方位要加减180°,若拨角结果为负值为左偏“逆时针”+360°就可化为右偏,正值为右偏“顺时针”;2、在图上标识方位的方法:就是导线边与Y轴的夹角;3、高程计算:目标高程=测点高程+h+仪器高—占标高;4、直角坐标与极坐标的换算:直角坐标用坐标增量表示;极坐标用方位角和边长表示1、坐标正算极坐标化为直角坐标已知一个点的坐标及该点至未知点的距离和方位角,计算未知点坐标方位角,知AXa,Ya、Sab、αab,求BXa,Ya解:Xab=Sab×COSαab 则有Xb=Xa+XabYab=Sab×SINαab Yb=Ya+Yab2)、坐标反算,已知两点的坐标,求两点的距离称反算边长和方位角称反算方位角的方法已知AXa,Ya、BXb,Yb,求αab、Sab;解:tanαab=Ya b/Xab所以;Αab=tanˉYab/Xab;则有:Sab=Yab/SINαab=Xab/COSαab=√X2ab+Y2ab;5、缘和曲线的方位角和坐标计算公式:S12=sqr<X2 -X12×Y2-Y12> =sqr X221× Y221;A12=arcsinY2-Y1/S12;S12为测站点1至放样点2的距离,A12为测站点1至放样点2的坐标方位角;X1,Y1为测站坐标,X2,Y2为放样点坐标;新公式:A12=arccosX21/S12×sgnY21360°只需将测量的成果用直线或其他线形连接起来;坐标输入时需注意交换输入,也就是将实测的X坐标在CAD中当Y坐标输入,而Y坐标则当X坐标输入;标高则用文字在标注在各相应的坐标点傍;一、建立新图时坐标偏移法1、先按比例大小绘制坐标网格,2、然后将测量整理得来的坐标拐点在CAD中输入绘制矿区范围,3、根据相应的测点坐标绘制实测图,4、填写图例;二、坐标增量上图相对坐标法①:如果比例尺为1:2000,平距除以2之后乘以方位角得坐标增量;②:点击直线或多线段按回车键点击后点,再输入ΔY,ΔX;倾斜巷道贯通计算:可根据倾斜角度进行换算,再结合地测交庄书中给的贯距或标高差来算,而且还要结合巷道的断面高差来综合计算;坡度的表示方法有百分比法、度数法、密位法和分数法四种;其中百分比法和度数法较为常用;1、百分比法表示坡度最为常用的方法,即两点的高程差与其水平距离的百分比,其计算公式如下:坡度=高程差/水平距离﹡100%,是指水平距离每100米垂直方向上下降…米;2、度数法用度数来表示坡度,利用反三角函数计算而得,其公式如下:TAN坡度=高程差 /水平距离,所以坡度=TAN-;一、平巷开门点仪器安设过程:用全站仪确定巷道开门点,C为开门点位置;1、在B点安置仪器,2、后视A点,用卷尺量出开门点的距离位置,定为C点然后在C点顶板钉点挂占标,再前视C点;3、把仪器移动安设在C点,后视B点,再用仪器把设计的方位、角度拨出来,用手拿着垂线或粉笔在开门点帮上,用仪器观测,左右移动垂线或粉笔,确定好准确点后用钉子钉上再用喷漆在帮上喷出;也就是中线点;为防止以后施工的破坏,多确定几个中线点,也是为了以后方便跟踪测量;一、标定腰线方法:1、用半圆仪标定倾斜巷道腰线,1点为新开斜巷的起点,称为起破点;1点高程H1由设计给出,Ha为已知点A高程,从图可知Ha-H1=ha在A点悬挂垂球,自A点向下量取ha,得到a点过a点拉一条水平线I'I,使1点位于新开巷道的一帮上,挂上半圆仪,此时半圆仪上读数应为0;将1点固定在巷道帮上,在1点系上测绳,沿巷道同侧拉向掘进方向,在帮上选定一点2,拉直测绳,悬挂半圆仪,上下移动测绳,使半圆仪的读数等于巷道设计倾角,此时固定2点,连接1、2点,划出腰线;2、用经纬仪标定腰线在主要倾斜巷道中,通常采用经纬仪标定腰线,其方法较多,这里只介绍三种; 1)、利用中线点标定腰线,图a为巷道横断图,图b为巷道纵断面图;标定方法如下:a:在中线点1安置仪器,量取仪器高i;b:使竖盘读数为巷道的设计倾角,此时的望远镜视线方向与腰线平行;然后瞄准掘进方向已标定的中线点2、3、4的垂线,分别作临时记号,得到 2'、3'、4',倒镜再测一次倾角a作为检查;c:由下式计算k值:k=H1-H'1+h-i;式中H1―1点处的高程;H'1 ―1点处轨面设计高程;i―仪器高;h ―轨面到腰线点的铅垂距离;d:由中线点的记号2'、3'、4' 分别向下量k值,得到 2"、3"、4"即为所求的腰线点;e:用半圆仪分别从腰线点拉一条垂直中线的水平线到两帮上;f:用测绳连接帮壁上的2"、3"、4"点并用喷漆沿测绳划出腰线;3、平巷与斜巷连接处腰线的标定:平巷与斜巷连接处是巷道坡度变化的地方,腰线到这里要改变坡度,巷道底板在竖起面上的转折点称为巷道变坡点,设平巷腰线到轨面或底板的距离为a,斜巷腰线到轨面或底板的法线距离也保持为a,那么,在变坡点处,平巷腰线必须抬高Δh,才能得到斜巷腰线起坡点,或者自变坡点处向前或向后量取距离ΔL,得到斜巷腰线起坡点,由此标定出斜巷腰线; Δh和ΔL值按下式计算Δh=a/COSδ-a=asecδ-1ΔL= Δδ;标定时,测量人员首先应在平巷的中线点上标定出A点的位置,然后在A点垂直于巷道中线的两帮上标出平巷腰线点,再从平巷腰线向上量取Δh 也可向前或向后量取ΔL,得到斜巷腰线起坡点位置;斜巷掘进时的最初10米,可以用半圆仪在帮手按δ角划出腰线;倾斜巷道的贯通:上下平巷和一号下山已掘好,二号下山正由下向上开掘至B点,现为加快掘进速度,欲上下同时开掘;这种贯通的特殊性在于上部开切点P的位置是未知的;为此,首先应确定P点的位置;确定P点的位置的方法主要有两种:第一种是根据A和C、B和D的坐标,列出直线方程,求解出交点P的位置;这种方法解联立方程的工作相当复杂,一般不予采用;第二种方法是根据三角学的基本知识,解算ΔAPB;由于在ΔAPB中,A、B的坐标已知,从而可求出它们间的水平距离Lba,和方位角eab,而且eba=edb,eap=eac也是已知的;这样我们就可以根据正弦定理求得Lap,确定出P点的位置;Lap=LbaSINδb/SINδp=<Ya-YbCOSeb-Xa-XbSINedb>/SINebd-eca;P点确定后,即可测定出其高程Hp,然后即可按与第一个例子类似的方法,标定贯通巷道的中线和腰线;水平巷道间的贯通:1、准备工作布设仪器和水准路线,计算出A、B点的平面直角坐标XA,YA、XB,YB以及它们的高程Ha、Hb;2、计算贯通测量的几何要素1计算贯通巷道中心线的方位角aAB:tanaAB=YB-YA/XB-XA;(2)计算A、B处的指向角β1、β2:β1=αAB- αAC β2=αBA- αBD(3)计算A、B间的水平距离LAB:LAB=√XB-XA2+YB-YA2;(4)计算贯通巷道的倾角δ:tanδ=HB-HA/LAB;(5)计算A、B间的斜长LAB:LAB=√LAB2+HB2-HA2或LAB=LAB/COSδ。
方位角计算坐标公式
方位角计算坐标公式方位角是指从某点的指北方向线起,依顺时针方向到目标方向线之间的水平夹角。
在数学、地理、工程等领域中,方位角的计算坐标公式可是相当重要的工具。
咱先来说说方位角的基本概念。
想象一下,你站在一个空旷的地方,面前有一个目标点,你要知道从你所在的位置看向那个目标点的方向角度,这就是方位角。
比如说,你正对着北方,然后顺时针转动到目标点的角度就是方位角啦。
那方位角计算坐标公式到底是啥呢?其实就是通过已知点的坐标和目标点的坐标来算出方位角。
具体的公式是:$tan\alpha = \frac{y_2 - y_1}{x_2 - x_1}$然后通过反正切函数就能得到方位角$\alpha$啦。
这里的$(x_1,y_1)$是已知点的坐标,$(x_2, y_2)$是目标点的坐标。
给大家举个例子哈。
比如说有两个点,A 点的坐标是(3, 4),B 点的坐标是(7, 8)。
咱们来算算从 A 点看向 B 点的方位角。
首先,按照公式,$x_1 = 3$,$y_1 = 4$,$x_2 = 7$,$y_2 = 8$。
那么,$tan\alpha = \frac{8 - 4}{7 - 3} = \frac{4}{4} = 1$。
然后通过反正切函数,就知道$\alpha = 45°$。
这就意味着从 A 点看向 B 点的方位角是 45°。
在实际生活中,方位角的计算坐标公式用处可大了。
就拿建筑施工来说吧,工程师们要确定建筑物的朝向、道路的走向,就得靠这个公式来准确计算方位角。
我之前就碰到过这么个事儿,有一次去一个建筑工地,当时工人们正在打地基,但是因为方位角没算对,导致一开始的基础部分就有点偏差。
后来发现问题后,赶紧重新计算方位角,调整施工方案,这才避免了更大的错误。
你瞧,就这么一个小小的方位角计算,如果出错了,那带来的麻烦可不小。
在地理测量中,方位角也很关键。
比如测量山峰的位置、河流的走向等等。
还有导航系统,也是依靠方位角来为我们指引方向的。
方位角及坐标计算
方位角及坐标计算公路工程各点方位角及坐标计算公式(一)各点方位角计算:1、第一直线段(k0~zh):f=arctgδy/δx备注:直线方位角必须考量象限角就可以厘定恰当线路迈向2、第一缓解曲线段(kzh~khy):δ1=(k0-kzh)2/(2rlh)×180/π3、圆曲线段(khy~kyh):δ2=[2(k0-kzh)-lh]/2r×180/πδ2=(khy-kzh)/2r×180/π+(k0-khy)/r×180/π无缓和曲线时:δ2=(k0-khy)/r×180/π(即圆曲线圆心角)4、第二缓和曲线段(kyh~khz):δ3=(khz-k0)2/(2rlh)×180/π5、第二直线段(khz~kzh):f±α(左偏时f-α,右偏时f+α)备注:k0――排序点的程α――曲线交点偏角lh――缓和曲线长(注意有时第一和第二缓和曲线长不一样)(二)各点坐标计算xzh=xjd-t?cosfxhz=xjd+t?cos(f±α)yzh=yjd-t?sinfyhz=yjd+t?sin(f±α)1、第一直线段:x=xzh+(k0-kzh)?cosf中桩y=yzh+(k0-kzh)?sinfx边=x中±b?cos(f-δ)边桩y边=y中±b?sin(f-δ)备注:b――中桩至所求点的距离(左幅时为+b,右幅时为-b,当设计轴线与线路不横向时b取斜短,即b/sinδ)设计轴线线路方向。
bδ图s-12、第一缓和曲线段:xx=xzh-y′?sinθ+x′?cosθxx′x′中桩′y=yzh+y′?cosθ+x′?sinθyzhyθhzx边=x中±b?cos(f+μδ1-δ)hyyh边桩y边=y中±b?sin(f+μδ1-δ)jdy′注:(本公式只适用与图s-2线形)图s-2μ――曲线左转为-1,右转为+1θ――线路方位角与y轴所缠的锐角,见到图s-2y′=l-l5/(40r2lh2);x′=l3/(6rlh)-l7/(336r3lh3);(r―圆曲线半径,l―缓解曲线就任一点至曲线起点长度)3、圆曲线段:x=xhy+2r?sinφ?cos(f+μ(ξ+φ))中桩y=yhy+2r?sinφ?s in(f+μ(ξ+φ))x边=x中±b?cos(f+μδ2-δ)边桩y边=y中±b?sin(f+μδ2-δ)备注:φ=(k0-khy)/2r×180/π;ξ=(khy-kzh)/2r×180/π4、第二缓解曲线段:x=xhz-y′?sinθ+x′?cosθ中桩y=yhz-y′?cosθ-x′?sinθx边=x中±b?cos(f+μδ1-δ)边桩y边=y中±b?sin(f+μδ1-δ)注:1、本公式只适用于与图s-2线形,其他线形可以根据本线形公式转换2、式中符号与第一缓解曲线意义相同3、注意有时第一缓和曲线长和第二缓和曲线长不一样4、第二直线段:x=xhz+(k0-khz)?cos(f±α)中桩y=yhz+(k0-khz)?sin(f±α)x边=x中±b?cos(f±α-δ)边桩y边=y中±b?sin(f±α-δ)备注:f――第一直线段的方位角(三)用casiofx-4500p计算已知坐标点在线路上的里程和距中线距离1、直线段(已知坐标x、y)pol(x-xhz,y-yhz):k=v?cos(f-w)+khzb=v?sin(f-w)备注:1、在fx-4500p中计算结果取走变量储存区v和w,必须表明储存区内容时按rclv、w键。
方位角的计算公式
方位角的计算公式方位角是指从其中一点出发,顺时针方向到另一个点的位置角度。
它通常用度数来表示,以正北方向为基准,逆时针方向为正方向。
方位角的计算公式主要有两种,一种使用正弦和余弦函数,另一种使用向量运算。
1.使用正弦和余弦函数的计算公式:假设点A的坐标为(Ax, Ay),点B的坐标为(Bx, By)。
首先需要计算两点之间的水平距离和垂直距离,即dx = Bx - Ax和dy = By - Ay。
然后可以计算方位角θ = arctan(dy/dx)。
但是由于arctan函数的值域是(-π/2, π/2),只能表示-90°到90°之间的角度,为了得到完整的方位角计算结果,还需要根据点的位置进行调整。
- 如果dx > 0且dy > 0,即点B位于点A的右上方,此时方位角为θ。
- 如果dx > 0且dy < 0,即点B位于点A的右下方,此时方位角为360° + θ。
- 如果dx < 0,即点B位于点A的左侧,此时方位角为180° + θ。
- 如果dx = 0且dy > 0,即点B位于点A的正北方向,此时方位角为90°。
- 如果dx = 0且dy < 0,即点B位于点A的正南方向,此时方位角为270°。
这样就可以得到点A到点B的方位角。
2.使用向量运算的计算公式:向量的加减可以表示方向的改变,因此方位角的计算也可以通过向量运算来实现。
假设点A的坐标为(Ax,Ay),点B的坐标为(Bx,By)。
首先构造向量AB,即将点B的坐标减去点A的坐标得到(ABx,ABy)。
然后可以计算该向量的方位角θ = arctan(ABy/ABx),同样需要根据点的位置进行调整。
-如果ABx>0且ABy>0,即点B位于点A的右上方,此时方位角为θ。
-如果ABx>0且ABy<0,即点B位于点A的右下方,此时方位角为360°+θ。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
先计算出坐标增量:
dX=Xb-Xa
dY=Yb-Ya
dY=dY+1E-10 为了使除数不为零而加一个很小的数
方位角计算万能公式:Az=pi * (1-Sgn(dY)/2)-Atn(dX / dY)单位为弧度 Az=Az * 180 /pi 单位为度
此公式计算无需判断象限,只需在值小于0时加上360即可!
其中,sgn()为求符号函数,若dX<0时其值为-1,dX>0时为1,dX=0时为0。
使用此公式不用判断所在象限,直接将坐标增量代入即可求出方位角值,在用计算器编程时若没有SGN()函数可自行判断并用一个变量代替!
VBA代码:
'方位角计算函数 Azimuth()
'Sx为起点X,Sy为起点Y
'Ex为终点X,Ey为终点Y
'Style指明返回值格式
'Style=-1为弧度格式
'Style=0为“DD MM SS”格式
'Style=1为“DD-MM-SS”格式
'Style=2为“DD°MMˊSS""”格式
'Style=其它值时返回十进制度值
Function Azimuth(Sx As Double, Sy As Double, Ex As Double, Ey As Double, Style As Integer)
Dim DltX As Double, DltY As Double, A_tmp As Double, Pi As Double
Pi = Atn(1) * 4 '定义PI值
DltX = Ex - Sx
DltY = Ey - Sy + 1E-20
A_tmp = Pi * (1 - Sgn(DltY) / 2) - Atn(DltX / DltY) '计算方位角
A_tmp = A_tmp * 180 / Pi '转换为360进制角度
Azimuth = Deg2DMS(A_tmp, Style)
End Function
'转换角度为度分秒
'Style=-1为弧度格式
'Style=0为“DD MM SS”格式
'Style=1为“DD-MM-SS”格式
'Style=2为“DD°MMˊSS""”格式
'Style=其它值时返回十进制度值
Function Deg2DMS(DegValue As Double, Style As Integer)
Dim tD As Integer, tM As Integer, Ts As Double, tmp As Double
tD = Int(DegValue)
tmp = (DegValue - tD) * 60
tM = Int(tmp)
tmp = (tmp - tM) * 60
Ts = Round(tmp, 1)
select Case Style
Case -1 '返回弧度
Deg2DMS = DegValue * Atn(1) * 4 / 180
Case 0
Deg2DMS = tD & " " & Format(tM, "00") & " " & Format(Ts, "00.0")
Case 1
Deg2DMS = tD & "-" & Format(tM, "00") & "-" & Format(Ts, "00.0")
Case 2
Deg2DMS = tD & "°" & Format(tM, "00") & "ˊ" & Format(Ts, "00.0") & """" Case Else
Deg2DMS = DegValue
End Select
End Function
Function pol(AX As Double, AY As Double, Bx As Double, By As Double) As String
pol = Azimuth(AX, AY, Bx, By, 2) & " " & Distance(AX, AY, Bx, By, 3)
End Function
Function rec(alpha As String, dist As Double) As String
Dim Alpha_Rad As Double
Alpha_Rad = StringToRad(alpha)
rec = "dx:" & Round(Cos(Alpha_Rad) * dist, 3) & " dy:" &
Round(Sin(Alpha_Rad) * dist, 3)
End Function
Function StringToRad(strAz) '将字符串格式方位角转换成弧度格式
Dim azSubStr
If strAz <> "" Then
azSubStr =Split(strAz, "-")
If UBound(azSubStr) = 2 Then
StringToRad = (azSubStr(0) + azSubStr(1) / 60 + azSubStr(2) / 3600) * Atn(1) * 4 / 180
Else
StringToRad = 0
End If
Else
StringToRad = 0
End If
End Function。