建筑资料下载 | 房地产资料 | 建筑资料库二 建筑课堂 | 建筑考试 | 装修设计 | 注册 | 登录 | 会员中心 网站地图

首页

当前位置:牛气建筑网建筑课堂工程资料工程测量测量计算编程——方位角» 正文

测量计算编程——方位角

[08-22 13:59:12]   来源:http://www.67jzw.com  工程测量   阅读:8914

概要:'定义角度输出格式(枚举类型) Enum rtnAzimuthFormat qd_DecimalDegree qd_DD_MM_SS_SeperatedByMinusSymbol qd_DD_MM_SS_SeperatedByDivideSymbol qd_Decimal_DD_MM_SS End Enum '(二维)点格式Public Type Point X As Double Y As Double End Type '方位角计算'调用方法:'rtnAz=surAzimuth(起始点,终点,返回格式,度(可选),分(可选),秒(可选))'度(可选)表示只输出DD-MM-SS中的度部分,便于后续处理Public function surAzimuth(PointA As Point, PointB As&nbs

测量计算编程——方位角,标签:工程测量规范,工程测量技术,http://www.67jzw.com
'定义角度输出格式(枚举类型) 



Enum rtnAzimuthFormat 
qd_DecimalDegree 
qd_DD_MM_SS_SeperatedByMinusSymbol 
qd_DD_MM_SS_SeperatedByDivideSymbol 
qd_Decimal_DD_MM_SS 
End Enum 


'(二维)点格式

Public Type Point 
X As Double 
Y As Double 
End Type 

'方位角计算

'调用方法:

'rtnAz=surAzimuth(起始点,终点,返回格式,度(可选),分(可选),秒(可选))

'度(可选)表示只输出DD-MM-SS中的度部分,便于后续处理
Public function surAzimuth(PointA As Point, PointB As Point, rtnFormat As rtnAzimuthFormat, Optional Degree As Integer, Optional Minute As Integer, Optional Second As Single) As String 
Dim deltX As Double, deltY As Double 
Dim AziCal As Double 
Dim pi As Double 
Dim intD As Integer, intM As Integer, Sec As Single, mm As Single 
pi = Atn(1) * 4 


deltX = PointB.X - PointA.X 
deltY = PointB.Y - PointA.Y + 1E-20 

AziCal = (pi - pi / 2 * Sgn(deltY) - Atn(deltX / deltY)) * 180 / pi 

intD = Int(AziCal) 
mm = (AziCal - intD) * 60# 
intM = Int(mm) 
Sec = Round((mm - intM) * 60, 2) 

 Degree = intD 
 Minute = intM 
 Second = Sec 

Select Case rtnFormat 
       Case qd_DecimalDegree 
            surAzimuth = AziCal 
       Case qd_DD_MM_SS_SeperatedByMinusSymbol 
            surAzimuth = Format(intD, "0") & "-" & Format(intM, "00") & "-" & Format(Sec, "0.00"
       Case qd_DD_MM_SS_SeperatedByDivideSymbol 
            surAzimuth = Format(intD, "0") & "/" & Format(intM, "00") & "/" & Format(Sec, "0.00"
       Case qd_Decimal_DD_MM_SS 
            surAzimuth = Format(intD, "0") & "." & Format(intM, "00") & Format(Sec * 100, "00"
       Case Else 
            surAzimuth = AziCal 
End Select 


End function


Tag:工程测量工程测量规范,工程测量技术工程资料 - 工程测量

上一篇:CASS使用问与答

《测量计算编程——方位角》相关文章

会员评论


联系本站 | 免责声明 | 下载帮助 | 建筑资料下载 | 房地产资料 | 建筑资料库二 | 建筑课堂 | 建筑考试 | 装修设计 | 网站地图 | 收藏本站

Copyright 牛气建筑网 版权所有 All Right Reserved.

1 2 3 4 5 6 7 8 9 10