VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the lati

by ZIPCodeWorld (2 Submissions)
Category: Databases/Data Access/DAO/ADO
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Tue 23rd March 2010
Date Added: Mon 8th February 2021
Rating: (1 Votes)

ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the latitude/longitude of those points) in Visual

Rate ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the lati




const pi = 3.14159265358979323846

Function distance(lat1, lon1, lat2, lon2, unit)
  Dim theta, dist
  theta = lon1 - lon2
  dist = sin(deg2rad(lat1)) * sin(deg2rad(lat2)) + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * cos(deg2rad(theta))
  dist = acos(dist)
  dist = rad2deg(dist)
  distance = dist * 60 * 1.1515
  Select Case ucase(unit)
    Case "K"
      distance = distance * 1.609344
    Case "N"
      distance = distance * 0.8684
  End Select
End Function 


'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
':::  this function get the arccos function from arctan function    :::
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Function acos(rad)
  If abs(rad) <> 1 Then
    acos = pi/2 - atn(rad / sqr(1 - rad * rad))
  ElseIf rad = -1 Then
    acos = pi
  End If
End function


'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
':::  this function converts decimal degrees to radians             :::
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Function deg2rad(deg)
deg2rad = cdbl(deg * pi / 180)
End Function

'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
':::  this function converts radians to decimal degrees             :::
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Function rad2deg(rad)
rad2deg = cdbl(rad * 180 / pi)
End Function

response.write distance(32.9697, -96.80322, 29.46786, -98.53506, "m") & " miles<br>"
response.write distance(32.9697, -96.80322, 29.46786, -98.53506, "k") & " kilometers<br>"
response.write distance(32.9697, -96.80322, 29.46786, -98.53506, "n") & " nautical miles<br>"

%>

Download this snippet    Add to My Saved Code

ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the lati Comments

No comments have been posted about ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the lati. Why not be the first to post a comment about ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the lati.

Post your comment

Subject:
Message:
0/1000 characters