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.

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/java/intersects/