用python计算两地之间的距离,知道两地的经纬度,要计算一地到19个地方的距离,如何一次算完
时间: 2024-04-16 13:28:17 浏览: 13
您可以使用`geopy`库来计算两个地点之间的距离,并使用循环来计算一地到19个地方的距离。以下是一个示例代码:
```python
from geopy.distance import geodesic
# 定义一地的经纬度
origin = (lat1, lon1)
# 定义19个目的地的经纬度
destinations = [
(lat2, lon2),
(lat3, lon3),
# 添加剩下的目的地
]
distances = []
# 循环计算一地到每个目的地的距离
for destination in destinations:
distance = geodesic(origin, destination).kilometers
distances.append(distance)
print(distances)
```
您需要将`lat1`和`lon1`替换为一地的纬度和经度,将`lat2`、`lon2`等替换为每个目的地的纬度和经度。这样,`distances`列表将包含一地到每个目的地的距离。
相关问题
用python语言编写一个计算两个经纬度之间距离的代码
可以使用haversine公式来计算两个经纬度之间的距离,以下是用Python实现的代码:
```python
from math import radians, sin, cos, sqrt, atan2
def distance(lat1, lon1, lat2, lon2):
R = 6371 # 地球半径,单位为公里
lat1, lon1, lat2, lon2 = map(radians, [lat1, lon1, lat2, lon2]) # 将经纬度转换为弧度
dlat = lat2 - lat1
dlon = lon2 - lon1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
distance = R * c # 计算出两个经纬度之间的距离,单位为公里
return distance
```
其中,lat1和lon1表示第一个点的经纬度,lat2和lon2表示第二个点的经纬度,返回值为两点之间的距离,单位为公里。
python用经纬度计算两地距离
可以使用`geopy`库来计算两个地点之间的距离。以下是一个示例代码:
```python
from geopy.distance import geodesic
# 两个地点的经纬度坐标
location_1 = (39.9075, 116.3972) # 北京
location_2 = (31.2304, 121.4737) # 上海
# 计算两地距离,返回值为千米
distance = geodesic(location_1, location_2).km
print(f"北京和上海之间的距离为{distance:.2f}千米")
```
输出结果为:
```
北京和上海之间的距离为1069.27千米
```
其中,`geodesic`函数可以接受两个经纬度坐标作为参数,并返回它们之间的距离。在本例中,我们将北京和上海的经纬度坐标作为参数传递给`geodesic`函数,并使用`.km`属性将返回的距离值转换为千米。