Back to top

ReQL command: includes

Command syntax

sequence.includes(geometry) → sequence

geometry.includes(geometry) → bool

Description

Tests whether a geometry object is completely contained within another. When applied to a sequence of geometry objects, includes acts as a filter, returning a sequence of objects from the sequence that include the argument.

Example: Is a point included within a 2000-meter circle?

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

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

// Result:
true

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

import com.rethinkdb.gen.ast.Circle;

Circle circle1 = r.circle(r.array(-117.220406, 32.719464), 10)
                  .optArg("unit", "mi");

r.table("parks").g("area").includes(circle1).run(conn);

The includes command cannot take advantage of a geospatial secondary index. If you’re working with large data sets, consider using an index and getIntersecting before includes to narrow down the initial result set.

Example: Rewrite the previous example with getIntersecting.

Circle circle1 = r.circle(r.array(-117.220406, 32.719464), 10)
                  .optArg("unit", "mi");

r.table("parks").getIntersecting(circle1)
 .optArg("index", "area").g("area")
 .includes(circle1).run(conn);

Get more help

Couldn't find what you were looking for?