//pi está predefinido en Yabasic deg2rad = pi / 180 // define grados a radianes 0.01745.. radioTierra = 6372.8 // radio de la tierra en km sub Haversine(lat1, long1, lat2, long2 , radio) d_long = deg2rad * (long1 - long2) theta1 = deg2rad * lat1 theta2 = deg2rad * 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 sub print " Distancia de Haversine entre BNA y LAX = ", Haversine(36.12, -86.67, 33.94, -118.4, radioTierra), " km" end