Страница 1 из 1

как рабтает ST_DWithin?

Добавлено: 25 апр 2012, 22:00
SS_Rebelious
Мануал об этом умалчивает. Здесь говорится, что отстраивается буфер. А от первой или второй геометрии отстраивается буфер? Или вдруг автоматически выбирается та, где меньше объектов?

Re: как рабтает ST_DWithin?

Добавлено: 26 апр 2012, 07:07
Denis Rykov
Я не понял смысл вопроса. Разве от этого зависит результат выполнения функции?

Re: как рабтает ST_DWithin?

Добавлено: 26 апр 2012, 09:05
SS_Rebelious
Результат - нет, но мне кажется, что может зависеть скорость выполнения.

Re: как рабтает ST_DWithin?

Добавлено: 27 апр 2012, 01:36
Aleksandr Dezhin
Непохоже что там вообще используется буффер. Насколько я понимаю эта функция быстрый аналог выражения типа:

Код: Выделить всё

ST_Distance(A, B) < min_dist
Судя по исходникам считается это почти в лоб, немного улучшенным вариантом перебора.

Из названия может показаться, что эта функция должна делать что-то вроде:

Код: Выделить всё

ST_Within(ST_Buffer(A, min_dist), ST_Buffer(B, min_dist))
Но это не так, она делает другое.

Re: как рабтает ST_DWithin?

Добавлено: 27 апр 2012, 02:04
SS_Rebelious
Понятно, спасибо за разъяснения!