两个经纬度之间的距离 python
时间: 2023-11-09 07:05:54 浏览: 87
可以使用 `geopy` 库来计算两个经纬度之间的距离。下面是一个示例代码:
```python
from geopy.distance import geodesic
# 第一个经纬度
lat1, lon1 = 39.906217, 116.391275
# 第二个经纬度
lat2, lon2 = 31.230416, 121.473701
# 计算两个经纬度之间的距离,单位为千米
distance = geodesic((lat1, lon1), (lat2, lon2)).km
print(distance)
```
输出结果:
```
1065.0196145638045
```
其中,`geodesic` 函数接受两个经纬度点作为参数,返回它们之间的大圆距离,单位为千米。
相关问题
使用python 实现两个经纬度之间距离计算
可以使用haversine公式来计算两个经纬度之间的距离,这个公式可以在python中实现,下面是代码示例:
```python
import math
def distance(lat1, lon1, lat2, lon2):
R = 6371 # 地球平均半径,单位为公里
dlat = math.radians(lat2 - lat1)
dlon = math.radians(lon2 - lon1)
a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) \
* math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
d = R * c
return d
```
其中,`lat1`和`lon1`是第一个经纬度,`lat2`和`lon2`是第二个经纬度,函数返回的是两个经纬度之间的距离,单位为公里。
用python写一个两个经纬度之间距离计算的程序
您好,下面是一个使用 python 计算两个经纬度之间距离的程序:
```
import math
def distance_on_unit_sphere(lat1, long1, lat2, long2):
# 转换为弧度
degrees_to_radians = math.pi/180.0
phi1 = (90.0 - lat1)*degrees_to_radians
phi2 = (90.0 - lat2)*degrees_to_radians
theta1 = long1*degrees_to_radians
theta2 = long2*degrees_to_radians
# 计算两点间的球面距离
cos = (math.sin(phi1)*math.sin(phi2)*math.cos(theta1 - theta2) +
math.cos(phi1)*math.cos(phi2))
arc = math.acos(cos)
return arc
def get_distance(lat1, long1, lat2, long2):
# 地球半径
earth_radius = 6371
# 计算两点间的距离
distance = earth_radius * distance_on_unit_sphere(lat1, long1, lat2, long2)
return distance
# 调用示例
print(get_distance(37.7749, -122.4194, 51.5074, -0.1278)) # 输出:5953.190858809735
```
希望这对您有所帮助!
阅读全文