У меня есть БД на PostgresQL. Есть список локаций в основном это города либо крупные посёлки. Нужно организовать поиск событий для них и для входящих в определённый радиус от них соседей.
По пути решения вижу два варианта. Первый это задавать latitude logtitude для событий и локаций и потом делать поиска по базе по ним через PostGIS или что-то другое или подобного рода
решение
Второй это использовать доп таблицу где будет связь между двумя точками и расстояние между ними. Будут выбираться массив ID-ков локаций под радиус и с ними делаться выборка событий с where in location_id (IDS).
Кажется что первый более гибкий. Но его нужно правильно реализовать чтобы был профит. Второй вариант более жёсткий, но очень понятный и через индексы должно летать + возможно удобно кешировать.
Какой вариант вы бы выбрали и может быть знаете какое-то хорошее решение под это?