答案 0 :(得分:3)
为您定义什么是“中心”。大多数情况下,我使用简单平均值。更好的解决方案是计算两个向量(来自地球中心),添加它们并归一化结果。 Calculate the center point of multiple latitude/longitude coordinate pairs
答案 1 :(得分:2)
另外,要小心经度。 170°E和170°W两点之间的中点应为180°E (或W),但最终可能为0°E。
下载来自USGS的John P. Snyder的地图预测:工作手册。 http://pubs.er.usgs.gov/publication/pp1395。它是免费的。
答案 2 :(得分:1)
将纬度和经度转换为弧度,然后
$deltaLongitude = $endPointLongitude - $startPointlongitude;
$xModified = cos($endPointLatitude) * cos($deltaLongitude);
$yModified = cos($endPointLatitude) * sin($deltaLongitude);
$midpointLatitude = atan2(
sin($startPointlatitude) + sin($endPointLatitude),
sqrt((cos($startPointLatitude) + $xModified) * (cos($startPointLatitude) + $xModified) +
$yModified * $yModified
)
);
$midpointLongitude = $startPointLongitude +
atan2($yModified,
cos($startPointLatitude) + $xModified
);