72 похожих чатов

Всем привет! Хочу сделать поиск по координатам. То есть на

вход принимает geometry(Polygon). В этом полигоне есть здания, у которых есть долгота и широта. Вопрос такой: Есть ли вариант сделать поиск не перебирая все здания и проверяя координаты на вхождение через ST_Contains?

6 ответов

13 просмотров

А какая у тебя СУБД?

Айдар- Автор вопроса

Ну и сразу замечания: все поиски по координатам обычно ищут по квадратному поэтому произвольного многоугольника тут использовать не получится тебе надо будет всё равно сгенерировать по твоему многоугольнику охватывающий его прямоугольник со сторонами параллельными осям координат Ну то есть параллелям и меридианам, найти что нужно в этом прямоугольнике а затем уже проверять Входит ли эти объекты внутрь твоего многоугольника, А это уже Придётся делать руками без индекса

Вопросы у вас... В некотором смысле — есть, в некотором смысле — нет. Но вас, скорее всего, беспокоит не сколько там зданий фактически переберутся, а скорость работы? Тогда начните с чтения про индэксы вашэго постгиса: https://postgis.net/docs/manual-3.4/using_postgis_dbmanagement.html#build-indexes Это... Непростой для начала материал, но несколько раз прочитать и понять все слова этого раздела всё-таки нужно. Потом можно будет а) Попробовать сгенерировать нормальный объём тэстовых данных и как интересующие вас выборки работают при помощи таких индэксов. б) Понять самому, как примерно работают эти индэксы и задуматься об алгоритмической сложности вашэй задачи, и возможности её решэния в том числе и помимо индэксов (какими-то схожыми, но более подходящими вам алгоритмами).

Ilya Zviagin
Ну и сразу замечания: все поиски по координатам об...

Тебе, кстати, тожэ можно прочитать https://postgis.net/docs/manual-3.4/using_postgis_dbmanagement.html#build-indexes Ну, и про крутые индэксы постгреса вводную пропаганду до кучи https://www.postgresql.org/docs/15/gist.html (и до конца разделов про индэксы).

Кстати, подумалось — тебе тожэ будет полезно прочитать вводные про разные нестандартные индэксы postgres https://www.postgresql.org/docs/15/gist.html (и до "Database Physical Storage", возможно, не включая). Возможно, начать дажэ с https://www.postgresql.org/docs/15/btree.html .

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта