Back to top

ReQL command: intersects

Command syntax

sequence.intersects(geometry) → sequence

geometry.intersects(geometry) → bool

r.intersects(sequence, geometry) → sequence

r.intersects(geometry, geometry) → bool

Description

Tests whether two geometry objects intersect with one another. When applied to a sequence of geometry objects, intersects acts as a filter, returning a sequence of objects from the sequence that intersect with the argument.

Example: Is point2 within a 2000-meter circle around point1?

import com.rethinkdb.gen.ast.Point;

Point point1 = r.point(-117.220406,32.719464);
Point point2 = r.point(-117.206201,32.725186);

r.circle(point1, 2000).intersects(point2).run(conn);

// Result:
true

Example: Which of the locations in a list of parks intersect a given circle?

r.table("parks").g("area")
 .intersects(r.circle(r.array(-117.220406, 32.719464), 10).optArg("unit", "mi"))
 .run(conn);

The intersects command cannot take advantage of a geospatial secondary index. If you’re working with large data sets, you should consider using an index and the getIntersecting command instead of intersects.

Get more help

Couldn't find what you were looking for?