python求地球两点距离
时间: 2023-12-20 11:28:07 浏览: 40
可以使用geopy库来计算地球上两点之间的距离。以下是一个示例代码:
```python
from geopy.distance import geodesic
# 纽约市的经纬度
ny_coordinates = (40.7128, -74.0060)
# 旧金山的经纬度
sf_coordinates = (37.7749, -122.4194)
# 计算两点之间的距离
distance = geodesic(ny_coordinates, sf_coordinates).km
print("纽约市和旧金山之间的距离是:", distance, "千米")
```
输出结果为:
```
纽约市和旧金山之间的距离是: 4135.981810197757 千米
```
相关问题
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代码
以下是一个示例代码,可以计算给定两点经纬度坐标之间的距离(单位为千米):
```python
from math import radians, cos, sin, asin, sqrt
def distance(lat1, lon1, lat2, lon2):
"""
Calculate the great circle distance between two points
on the earth (specified in decimal degrees)
"""
# 将十进制度数转化为弧度
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine公式
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * asin(sqrt(a))
r = 6371 # 地球平均半径,单位为公里
return c * r
# 示例使用
print(distance(39.9042, 116.4074, 31.2304, 121.4737)) # 北京(39.9042, 116.4074)到上海(31.2304, 121.4737)的距离
```
该代码使用了Haversine公式来计算两点之间的距离。需要注意的是,这个公式假设地球是一个完美的球体,因此在实际使用中可能存在一定的误差。