Если у меня есть ряд точек как долгота и широта, как бы я вычислил центр всех этих точек?Как найти центр нескольких географических точек?
ответ
См. Ответ Мо, хотя, если ваши очки распределены по всему миру, вы должны быть удовлетворены тем, что ваш центр стремится к главному меридиану, а не к Международной линии дат.
Во-первых, вам нужно определить, какой центр вы заинтересованы в Возьмите эти две точки:.
A. .B
центр легко, это на полпути между ними. Теперь добавьте третью точку:
A. C. .B
является центром еще на полпути между А и В, или это взвешенный по отношению к А из-C? То есть центр является точкой, ближайшей ко всем точкам или точками на охватывающем многоугольнике?
Кроме того, поскольку это длинный/лат, с которыми вы имеете дело, точки находятся на поверхности сферы, поэтому расстояние между длинными 0 и длинными 90 градусами намного больше на lat 0, чем на лат 45 градусов.
Я думаю, что это будет c, так как это обеспечит некоторый вес. – dvorak 2008-09-24 17:07:46
Несколько человек ответили, чтобы принять значение широт и долгот. Это своего рода правильная идея, но means are more complicated on the sphere.
Представление широты/долготы по существу является искусственным и имеет разрывы (на полюсах и напротив простого меридиана, если вы не внимательны), поэтому он принимает средства в нем, по-видимому, не представляется возможным (для меня) иметь разумная геометрическая интерпретация. Я думаю, вам нужно сделать что-то вроде усреднения векторов в земно-центрированных координатах, а затем нормализовать результат, чтобы вернуть его обратно в сферу.
Я надеюсь, что кто-то, у кого больше опыта в этих вопросах, может комментировать более конкретно.
Geomidpoint охватывает 3 различных метода расчета этого.
Не просто усредняйте средние значения.
Вы можете преобразовать в 3d координаты, затем взять среднее (из координат x, y и z), а затем проецировать его обратно на сферу и повернуть обратно в lat/long.
На странице wikipedia на spherical coordinates есть алгоритмы преобразования.
Wolfram Alpha сделает это за вас, если вы зададите вопрос в следующей форме: центроид многоугольника с вершинами: (X, Y), (X, Y), (X, Y), (X, Y), (X, Y) и т. Д.
Не забудьте сначала преобразовать каждую «(X, Y)» в десятичную форму. Wolfram Alpha вернет ответ в десятичной форме, который затем можно скопировать и вставить в Google Earth.
Получите что-нибудь с этим? – CSharpAtl 2009-11-19 18:25:26