18 lines
514 B
Plaintext
18 lines
514 B
Plaintext
global radioTierra # radio de la tierra en km
|
|
radioTierra = 6372.8
|
|
|
|
function Haversine(lat1, long1, lat2, long2 , radio)
|
|
d_long = radians(long1 - long2)
|
|
theta1 = radians(lat1)
|
|
theta2 = radians(lat2)
|
|
dx = cos(d_long) * cos(theta1) - cos(theta2)
|
|
dy = sin(d_long) * cos(theta1)
|
|
dz = sin(theta1) - sin(theta2)
|
|
return asin(sqr(dx*dx + dy*dy + dz*dz) / 2) * radio * 2
|
|
end function
|
|
|
|
print
|
|
print " Distancia de Haversine entre BNA y LAX = ";
|
|
print Haversine(36.12, -86.67, 33.94, -118.4, radioTierra); " km"
|
|
end
|