Найти окружности в которые входит указанная точка

Ответить
Andy124321
Новоприбывший
Сообщения: 1
Зарегистрирован: 06 фев 2020, 17:26
Репутация: 0
Откуда: Новосибирск

Найти окружности в которые входит указанная точка

Сообщение Andy124321 »

Требуется организовать хранение окружностей (долгота, широта, радиус в метрах) и в дальнейшем делать проверку, входит ли точка в окружность.
Попробовал вариант:
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, для нее создан обычный индекс.
Можно ли как-нибудь сократить время выполнения запроса?
trir
Гуру
Сообщения: 5354
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Найти окружности в которые входит указанная точка

Сообщение trir »

используй квадратно-гнездовой способ - храни mbr (можно просто диагональную линию) и построй по ним индекс, а дальше уже уточняй
Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя