Требуется организовать хранение окружностей (долгота, широта, радиус в метрах) и в дальнейшем делать проверку, входит ли точка в окружность.
Попробовал вариант:
select * from test_geo where ST_DWithin(g,'POINT(82.92 55)', radius) limit 100
Выполняется со скоростью 2 запроса в секунду, в таблице примерно 800.000 записей.
Колонки:
g типа geography, для нее создан индекс USING gist(g)
radius типа integer, для нее создан обычный индекс.
Можно ли как-нибудь сократить время выполнения запроса?
Найти окружности в которые входит указанная точка
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 06 фев 2020, 17:26
- Репутация: 0
- Откуда: Новосибирск
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Найти окружности в которые входит указанная точка
используй квадратно-гнездовой способ - храни mbr (можно просто диагональную линию) и построй по ним индекс, а дальше уже уточняй
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя