def bearing_to(self, point): """Return the bearing to another point""" delta_long = point.long_radians - self.long_radians y = sin(delta_long) * cos(point.lat_radians) x = ( cos(self.lat_radians) * sin(point.lat_radians) - sin(self.lat_radians) * cos(point.lat_radians) * cos(delta_long) ) radians = math.atan2(y, x) return Bearing.from_radians(radians)