У меня есть ряд координат долготы и широты, которые представляют собой контур здания
например
-0.5485381346101759,53.2285150736142
-0.5482220594232723,53.22842450827133
-0.5482298619861881,53.22841205254449
... (промежуточные точки не указаны) ...
-0.5483123769301657,53.22882101914848
Как я могу определить среднюю точку? Я нашел учебники, которые показывают, как это сделать, если у вас есть три координаты (например, http://mathforum.org/library/drmath/view/68373.html ), но во многих случаях у меня есть более трех ,
Спасибо
give me the answer
вопросы, как правило, здесь не одобряются.Ответы:
С координатами, которые находятся близко друг к другу, вы можете рассматривать Землю как локально плоскую и просто находить центроид, как если бы они были плоскими координатами. Тогда вы просто взяли бы среднее значение широт и среднее значение долгот, чтобы найти широту и долготу центроида.
Редактировать: как указано, указанный выше метод не будет работать, если здание не прямоугольник или правильный многоугольник. Для произвольной формы формула здесь дает правильный результат.
источник
Если вам нужен центр здания, который обведен многоугольником, не берите среднее значение вершин. Это явно неправильно. Вместо этого вам нужно вычислить центр тяжести самого многоугольника. Для формулы см.
http://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon
(И я согласен с более ранними плакатами: вы можете рассматривать широту и долготу как декартовы координаты, потому что здание маленькое, оно далеко от полюса и от международной линии дат.)
источник
Преобразование из географических координат в геоцентрические, усреднение геоцентрических векторов, затем преобразование обратно в географические.
источник
Центроид конечного числа точек - это просто среднее арифметическое каждой из координат. Так что просто суммируйте широты и долготы и разделите на количество точек.
источник
Если вы работаете с большими диапазонами, вам необходима сферическая интерполяция .
источник