Команда ReQL: intersects
Синтаксис команды
sequence.intersects(geometry) → sequence geometry.intersects(geometry) → bool r.intersects(sequence, geometry) → sequence r.intersects(geometry, geometry) → bool
Описание
Проверяет, пересекаются ли два геометрических объекта. При применении к последовательности геометрических объектов, intersects выполняет функцию фильтра, возвращая последовательность объектов из исходной последовательности, которые пересекаются с аргументом.
Пример: Находится ли point2 внутри круга радиусом 2000 метров вокруг point1?
> point1 = r.point(-117.220406,32.719464)
> point2 = r.point(-117.206201,32.725186)
> r.circle(point1, 2000).intersects(point2).run(conn)
true
Пример: Какие из объектов в списке парков пересекаются с circle1?
circle1 = r.circle([-117.220406,32.719464], 10, {:unit => 'mi'})
r.table('parks')('area').intersects(circle1).run(conn)
Команда
intersectsне может использовать геопространственный вторичный индекс. Если вы работаете с большими наборами данных, следует рассмотреть использование индекса и команды get_intersecting вместоintersects.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/intersects/