地球陆地上有没有这样一个地方,离所有国家的首都的距离之和比其他所有地方都短?
谢邀,人不在希腊,但答案在希腊
类似的问题倒是已经有不少了
选用成员国 | 联合国 --- Member States | United Nations提供的国家数据
整理出193项。
安装两个库:
pip install pandas
pip install scipy
然后:
import pandas as pd
import math
from scipy.optimize import minimize
#读取 CSV 文件
df = pd.read_csv('capitals_coordinates.csv')#整理出来的首都数据
# 提取经纬度信息
capitals = list(zip(df['Latitude'], df['Longitude']))
# Haversine 公式:计算两点间的球面距离
def haversine(lat1, lon1, lat2, lon2):
R = 6371.0 # 地球半径,单位:公里
lat1, lon1, lat2, lon2 = map(math.radians, [lat1, lon1, lat2, lon2])
dlat = lat2 - lat1
dlon = lon2 - lon1
a = math.sin(dlat / 2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2)**2
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
distance = R * c
return distance
# 定义目标函数:计算某点到所有首都的距离之和
def total_distance(point, capitals):
lat, lon = point
return sum(haversine(lat, lon, cap_lat, cap_lon) for cap_lat, cap_lon in capitals)
# 寻找最优点
initial_guess = (0, 0)
result = minimize(total_distance, initial_guess, args=(capitals,), method='L-BFGS-B',
bounds=[(-90, 90), (-180, 180)])
# 输出结果
optimal_lat, optimal_lon = result.x
print(f"最优点的纬度为 {optimal_lat:.2f},经度为 {optimal_lon:.2f}")
运行,输出结果:
最优点的纬度为 39.75,经度为 21.24
这是哪呢?
地点在:希腊的色萨利区,梅特奥拉市/Δήμος Μετεώρων,马拉卡西市镇/Δήμος Μαλακασίου。
当地海拔大约823米,占地面积约为157.5平方公里,约有千名固定居民。
顺带一提那个心形湖是这样的:
该说不愧是巴尔干有一堆国家吗。