2024-05-15 04:39:58 发布
网友
我有一张地图,上面有几个点(纬度/经度),我想知道它们之间的距离。
那么,给定一组lat/long坐标,如何用python计算它们之间的距离?
我曾经写过一个python版本的this答案。它详细说明了如何使用Haversine formula来计算以公里为单位的距离。
import math def get_distance(lat_1, lng_1, lat_2, lng_2): d_lat = lat_2 - lat_1 d_lng = lng_2 - lng_1 temp = ( math.sin(d_lat / 2) ** 2 + math.cos(lat_1) * math.cos(lat_2) * math.sin(d_lng / 2) ** 2 ) return 6373.0 * (2 * math.atan2(math.sqrt(temp), math.sqrt(1 - temp)))
确保传递给函数的坐标是弧度。如果它们是以度数表示的,可以先转换它们:
lng_1, lat_1, lng_2, lat_2 = map(math.radians, [lng_1, lat_1, lng_2, lat_2])
我曾经写过一个python版本的this答案。它详细说明了如何使用Haversine formula来计算以公里为单位的距离。
确保传递给函数的坐标是弧度。如果它们是以度数表示的,可以先转换它们:
相关问题 更多 >
编程相关推荐