您的位置:首页 > 编程语言 > VB

VBA学习笔记(二):由经纬度计算距离VBA代码

2013-11-20 21:38 639 查看
一、由经纬度计算距离VBA代码:
Sub Example02()

Dim Distance As Double
Dim lat1 As Double
Dim lon1 As Double
Dim lat2 As Double
Dim lon2 As Double

'位置1:尧都区华洲路面粉厂
lat1 = 36.07812
lon1 = 111.54295
'位置2:尧都区秦署路党校
lat2 = 36.07436
lon2 = 111.494613

Distance = CalcDistance(lat1, lon1, lat2, lon2)
End Sub
Function CalcDistance(ByVal lat1 As Double, ByVal lon1 As Double, ByVal lat2 As Double, ByVal lon2 As Double) As Double
'经纬度计算距离公式,得出结果单位为米
CalcDistance = 6378137 * 2 * Application _
.Asin(Sqr(SumSq(Sin((Radians(lat1) - Radians(lat2)) / 2)) + Cos(Radians(lat1)) * _
Cos(Radians(lat2)) * SumSq(Sin((Radians(lon1) - Radians(lon2)) / 2))))
End Function
Function Radians(latORlon As Double) As Double
'度转换成弧度公式为X*π/180
PI14 = 3.14159265358979
Radians = latORlon * PI14 / 180
End Function
Function SumSq(xx As Double) As Double
SumSq = xx * xx
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: