Python 输入多个经纬度坐标,找出中心点
时间: 2024-02-11 08:07:45 浏览: 126
好的,这个问题很有意思。你可以使用以下的代码来计算多个经纬度坐标的中心点。
```python
import math
def midpoint(coords):
if len(coords) == 1:
return coords[0]
x = 0
y = 0
z = 0
for lat, lon in coords:
lat = math.radians(lat)
lon = math.radians(lon)
x += math.cos(lat) * math.cos(lon)
y += math.cos(lat) * math.sin(lon)
z += math.sin(lat)
n = len(coords)
x /= n
y /= n
z /= n
lon = math.atan2(y, x)
hyp = math.sqrt(x * x + y * y)
lat = math.atan2(z, hyp)
return math.degrees(lat), math.degrees(lon)
coords = [(39.952583, -75.165222), (37.774929, -122.419416), (34.052235, -118.243683)]
midpoint(coords)
```
这个代码使用了三角函数来计算多个经纬度坐标的中心点。你可以把经纬度坐标放入一个数组中,然后调用这个函数来计算中心点。在这个例子中,我们使用了三个经纬度坐标,分别是费城、旧金山和洛杉矶的坐标。函数的返回值是一个元组,包含了中心点的纬度和经度。
阅读全文