Как мне найти центр ряда географических точек? - PullRequest
17 голосов
/ 24 сентября 2008

Если у меня есть ряд точек по долготе и широте, как бы я вычислил центр всех этих точек?

Ответы [ 7 ]

10 голосов
/ 24 сентября 2008

Geomidpoint охватывает 3 различных метода расчета этого значения.

7 голосов
/ 24 сентября 2008

Несколько человек ответили, чтобы взять среднее значение широт и долгот. Это правильная идея, но означает, что в сфере все более сложно .

Представление широты / долготы является по существу искусственным и имеет разрывы (на полюсах и напротив основного меридиана, если вы не будете осторожны), так что принятие в нем средств вряд ли (для меня) будет иметь разумная геометрическая интерпретация. Я думаю, вам нужно сделать что-то вроде усреднения векторов в земно-центрированных координатах, а затем нормализовать результат, чтобы вернуть его на сферу.

Я надеюсь, что кто-то с большим опытом в этих вопросах может комментировать более конкретно.

5 голосов
/ 24 сентября 2008

Не просто взять средние.

Вы можете преобразовать в трехмерные координаты, затем взять среднее (из координат x, y и z), затем спроецировать его обратно на сферу и повернуть обратно в широту / долготу.

Страница Википедии о сферических координатах имеет алгоритмы преобразования.

4 голосов
/ 24 сентября 2008

Прежде всего, вам нужно определить, какой центр вас интересует. Возьмите эти две точки:

A.                          .B

Центр легкий, он на полпути между ними. Теперь добавьте третий пункт:

A. C.                       .B

Центр все еще на полпути между А и В или он взвешен в направлении А из-за С? Так является ли центр точкой, ближайшей ко всем точкам или только точкам на охватывающем многоугольнике?

Кроме того, поскольку long / lat вы имеете дело с точками на поверхности сферы, поэтому расстояние между long 0 и long 90 градусов намного больше при lat 0, чем в lat 45 градусов.

1 голос
/ 24 сентября 2008

Вероятно, вы ищете центроид простого многоугольника, определенного точками. В этой статье содержится информация о том, как рассчитать ее для различных геометрий.

0 голосов
/ 25 октября 2014

Wolfram Alpha сделает это за вас, если вы зададите вопрос в следующей форме: центр тяжести многоугольника с вершинами: (X, Y), (X, Y), (X, Y), (X, Y), (X, Y) и т. д.

Только не забудьте сначала преобразовать каждое "(X, Y)" в десятичную форму. Wolfram Alpha вернет ответ в десятичной форме, которую затем можно скопировать и вставить в Google Планета Земля.

0 голосов
/ 24 сентября 2008

См. Ответ Мо, хотя, если ваши очки распределены по всему земному шару, вы должны быть удовлетворены тем, что ваш центр стремится к Первому меридиану, а не к международной линии дат.

...