У меня есть база данных отелей Postgres 8.3, каждая из которых имеет связанную долготу и широту, сохраненную как точку, и курорт, сохраненный как идентификатор курорта. Я бы хотел найти центральную или среднюю точку курорта.
Я могу сделать это с помощью простого запроса:
select
avg(lat_long[0]) as latitude,
avg(lat_long[1]) as longitude,
resort_id
from accomm
group by resort_id
Однако в базе данных есть некоторые неверные данные, например, возможно, есть американский отель, зарегистрированный на европейском курорте. Очевидно, что при простом усреднении эти данные будут означать, что результаты неточны.
Как я могу рассчитать среднее квартальное значение или подобный метод для фильтрации этих неверных данных? В настоящее время в моей таблице около 30 000 строк.