def get_distance(self, other):
assert self.is_valid()
assert other.is_valid()
from_lat = self.lat().radians
to_lat = other.lat().radians
from_lng = self.lng().radians
to_lng = other.lng().radians
dlat = math.sin(0.5 * (to_lat - from_lat))
dlng = math.sin(0.5 * (to_lng - from_lng))
x = dlat * dlat + dlng * dlng * math.cos(from_lat) * math.cos(to_lat)
return Angle.from_radians(
2 * math.atan2(math.sqrt(x), math.sqrt(max(0.0, 1.0 - x)))
)
评论列表
文章目录