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
Calculate Distance and Radius in ASP
Author:
ZipCodeWorld
E-mail:
Click to e-mail author
Website:
http://www.zipcodeworld.com
Submitted:
11/15/2005
Version:
ASP
Compatibility:
ASP3.0
Category:
Mathematics
Views:
10170
This ASP function calculates the distance between two locations by using latitude and longitude from ZIP code, postal code or postcode. The result is available in miles, kilometers or nautical miles based on great circle distance calculation.
Declarations:
Passed to function: lat1, lon1 = Latitude and Longitude of point 1 (in decimal degrees) lat2, lon2 = Latitude and Longitude of point 2 (in decimal degrees) unit = the unit you desire for results where: 'M' is statute miles 'K' is kilometers (default) 'N' is nautical miles' United States ZIP Code/ Canadian Postal Code databases with latitude & longitude are available at http://www.zipcodeworld.com
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