20 lines
623 B
Plaintext
20 lines
623 B
Plaintext
CONST pi = 3.141593 ' define pi
|
|
CONST radio = 6372.8 ' radio de la tierra en km
|
|
|
|
PRINT : PRINT " Distancia de Haversine:";
|
|
PRINT Haversine!(36.12, -86.67, 33.94, -118.4); "km"
|
|
END
|
|
|
|
FUNCTION Haversine! (lat1!, long1!, lat2!, long2!)
|
|
deg2rad! = pi / 180 ' define grados a radianes 0.01745..
|
|
|
|
dLong! = deg2rad! * (long1! - long2!)
|
|
theta1! = deg2rad! * lat1!
|
|
theta2! = deg2rad! * lat2!
|
|
dx! = COS(dLong!) * COS(theta1!) - COS(theta2!)
|
|
dy! = SIN(dLong!) * COS(theta1!)
|
|
dz! = SIN(theta1!) - SIN(theta2!)
|
|
|
|
Haversine! = (SQR(dx! * dx! + dy! * dy! + dz! * dz!) / 2) * radio * 2
|
|
END FUNCTION
|