python计算测地距离
时间: 2023-06-06 16:07:27 浏览: 80
可以使用geopy库来计算测地距离,代码示例如下:
```
from geopy.distance import geodesic
# 纬度、经度都是用十进制度数表示的
coords_1 = (39.9075, 116.39723) # 北京市天安门
coords_2 = (31.23039, 121.4737) # 上海市东方明珠
distance = geodesic(coords_1, coords_2).km
print(f"北京到上海的测地距离为 {distance:.2f} km")
```
输出结果为:"北京到上海的测地距离为 1066.58 km"
相关问题
python多边形内两点测地距离
要计算多边形内两点的测地距离,需要使用以下步骤:
1. 安装geopy库:可以使用pip install geopy命令来安装。
2. 导入所需模块:导入Point和distance模块。
3. 创建多边形:使用Point模块创建多边形的顶点。
4. 计算两点之间的距离:使用distance模块计算两点之间的测地距离。
下面是一个简单的示例代码,可以计算一个多边形内两点的测地距离:
```python
from geopy.point import Point
from geopy.distance import distance
# 创建多边形
polygon = [Point(40.748817, -73.985428), Point(40.748205, -73.985321), Point(40.747802, -73.986462), Point(40.748417, -73.986569)]
# 计算两点之间的距离
dist = distance((40.748817, -73.985428), (40.748205, -73.985321)).meters
print(dist)
```
在上面的代码中,我们创建了一个多边形,并计算了多边形内两个点之间的距离。注意,这里的距离单位是米。
python计算l两个64维向量的测地距离
可以通过使用scipy库中的spatial.distance来计算两个64维向量的测地距离,代码如下:
import numpy as np
from scipy.spatial.distance import cdist
vec1 = np.random.rand(1,64)
vec2 = np.random.rand(1,64)
dis = cdist(vec1, vec2, 'cosine')
print('The geodesic distance between the two 64-dim vectors is:', dis[0][0])