Find Code:
All Words
Any of the Words
Exact Phrase
Home
:
Code
:
Forums
:
Submit
:
Mailing List
:
About
:
Contact
Code
All
VB.NET
ASP.NET
C#
VB Classic
ASP Classic
Snippets
Popular
Resources
Submit Code
Forums
Articles
Tips
Links
Books
Contest
Link to us
Distance Calculation using Latitude and Longitude
Author:
ZIPCodeWorld
E-mail:
Click to e-mail author
Website:
http://www.zipcodeworld.com/
Submitted:
3/22/2010
Version:
ASP.NET 1.1
Compatibility:
ASP.NET 1.1, ASP.NET 2.0, ASP.NET 3.5
Category:
Mathematics
Views:
11123
ZIPCodeWorld.com provides this routine to calculate the distance between two points (given the latitude/longitude of those points) in VB.Net. It is being used to calculate distance between two points lat1, long1 and lat2, long2 and uses radius of earth in kilometers or miles as an arguments using our ZIPCodeWorld(TM) and PostalCodeWorld(TM) products which offer the United States ZIP codes, Canadian Postal Codes, Mexican Postal Codes and North American Area Codes database subscription and solution services.
Declarations:
'none
Code:
<% 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
" response.write distance(32.9697, -96.80322, 29.46786, -98.53506, "k") & " kilometers
" response.write distance(32.9697, -96.80322, 29.46786, -98.53506, "n") & " nautical miles
" %>
Home
|
Forums
|
Submit
|
Books
|
Mailing List
|
Advertising
|
About
|
Contact
© 2024 A1VBCode. All rights reserved.
Legal disclaimer & terms of use
Privacy statement