测量方位角计算公式VB源代码.pdf
《测量方位角计算公式VB源代码.pdf》由会员分享,可在线阅读,更多相关《测量方位角计算公式VB源代码.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、测量方位角计算公式 VB 源代码角度化弧度Public Function Radian(a As Double)As Double Dim Ra As Double Dim c As Double Dim FS As Double Dim Ib As Integer Dim Ic As Integer Ra=pi/180#Ib=Int(a)c=(a-Ib)*100#Ic=Int(c)FS=(c-Ic)*100#Radian=(Ib+Ic/60#+FS/3600#)*RaEnd Function弧度化角度Public Function Degree(a As Double)As Double D
2、im B As Double Dim Fs1 As Double Dim Im1 As Integer Dim Id1 As Integer B=a Call DMS(B,Id1,Im1,Fs1)Degree=Id1+Im1/100#+Fs1/10000#End FunctionPublic Sub DMS(a As Double,ID As Integer,IM As Integer,FS As Double)Dim B As Double Dim c As Double c=a c=180#/pi*c ID=Int(c+0.0000005)B=(c-ID)*60+0.0005 IM=Int
3、(B)FS=(B-IM)*60End Sub计算两点间的方位角Public Function azimuth(x1 As Double,y1 As Double,x2 As Double,y2 AsDouble)As Single Dim dx As Double Dim dy As Double Dim fwj As Double dx=x2-x1 dy=y2-y1 If dy 0 Then fwj=pi*(1-Sgn(dy)/2)-Atn(dx/dy)azimuth=Degree(fwj)Else If dx 0 Then azimuth=0 Else azimuth=180 End If
4、 End IfEnd Function5.2 程序字母代表含义La起点里程,R圆曲线半径,l0两端缓和曲线长,曲线转向角,T切线长,L曲线长,E0外矢距,q切曲差,cc线路转向(cc=1 时,线路向右转;cc=-1 时,线路向左转),d桩距,m边桩距,Lii 点的里程,ZH直缓点,HY缓圆点,JD交点,QZ曲中点,YZ圆直点,YH圆缓点,HZ缓直点,LJD交点里程,LZH直缓点里程,LHY缓圆点里程,LQZ曲中点里程,LYH圆缓点里程,LHZ缓直点里程。5.3 程序设计思路及具体程序的编写程序的基本构思:本程序利用已知直、曲线要素、交点坐标,计算出曲线上逐桩坐标,根据逐桩坐标就可实地放样。此程
5、序在不同测站测设同一曲线时,调用程序只需改变测站和后视点坐标即可。不过测站点和后视点的坐标系统与逐桩坐标系统必须一致。程序设计中主要发现的问题及解决办法:5.3.1 起点为非整桩的情况本程序采用将非整桩起点的坐标通过变换成为整桩的方法。直线起点L1=Int(la/10)*10+k)第一缓和曲线 L2=Int(Ljd T+K)圆曲线L3=Int(Ljd-T+lo+K)第二缓和曲线 L4=Int(Ljd-T+L lo+K)并计算出这些点的坐标。表 5.1 起点是否整桩的判断线型直线第一缓和曲线圆曲线第二缓和曲线整桩起算点起终点(两端曲线的端点)ZH 点ZH(带缓和曲线)或 ZY 点HZ 点5.3.
6、2 路线方位角的计算程序中采用的起算数据中不包含方位角一项,因此必须要由已知的两点坐标计算出线路的方位角。本程序中利用 ZH 点和 JD 的坐标计算。建立一个计算方位角的模块:Function ab#(Xa#,Ya#,Xb#,Yb#)ab=Atn(Abs(Yb-Ya)/Abs(Xb-Xa)If Yb-Ya=0 And Xb-Xa=0 Thenab=ab非整桩起算点L1 点L2 点L2 点HZ 点ElseIf Yb-Ya 0 And Xb-Xa 0 Thenab=3.141592654-abElseIf Yb-Ya=0 And Xb-Xa 反算正算后,Y 坐标与原来的差了 0.50.7mm,不知
7、道怎么回事,这两年工作忙也没有时间再深究,但是这样的计算精度做控制足够了,如果楼主或是者是哪位同仁见此贴能顺便把这个问题解决了,咱们就一起进步了!代码如下:高斯坐标正算Private Sub DadiZs()Dim t As Double,Itp As Double,X0 As Double,N As Double,L0 As DoubleDim V As Double,ll As Double,W As Double,M As DoubleLat=Radian(Lat)Lon=Radian(Lon)L0=Radian(Lo)If Tq=0 Thena=637824554 椭球参数b=6356
8、863.01877305ep=0.006693421622966ep1=0.006738525414683f=(a-b)/ac=a 2/bd=b 2/aX0=111134.8611*(Lat*180#/Pi)-(32005.7799*Sin(Lat)+133.9238*(Sin(Lat)3+0.6973*(Sin(Lat)5+0.0039*(Sin(Lat)7)*Cos(Lat)X0=111134.8611*(Lat*180#/Pi)-(32005.7798*Sin(Lat)+133.9238*(Sin(Lat)3+0.6972*(Sin(Lat)5+0.0039*(Sin(Lat)7)*Co
9、s(Lat)Elsea=637814075 椭球参数b=6356755.28815753ep=0.006694384999588ep1=0.006739501819473f=(a-b)/ac=a 2/bd=b 2/aX0=111133.0047*(Lat*180/Pi)-(32009.8575*Sin(Lat)+133.9602*(Sin(Lat)3+0.6976*(Sin(Lat)5+0.0039*(Sin(Lat)7)*Cos(Lat)End Ifll=Lon-L0t=Tan(Lat)Itp=ep1*Cos(Lat)2W=Sqr(1-ep*Sin(Lat)2)V=Sqr(1+ep1*Cos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测量 方位角 计算 公式 VB 源代码
限制150内