Basic concepts

Updated at:
Copy as MD

Bounding box-processing operators check whether the bounding boxes of two objects meet a specified spatio-temporal relationship. Each operator combines an operator mark (which defines the relationship type) with optional dimension marks (which control which dimensions are evaluated).

Operator marks

Three operator marks are supported:

Mark Operator type Description
&& or & INTERSECT The bounding boxes of the two objects intersect.
@> INCLUDE The bounding box of the left operand contains the bounding box of the right operand.
<@ INCLUDED The bounding box of the left operand is contained by the bounding box of the right operand.

Dimension marks

Two dimension marks are supported:

Mark Dimension
/ z dimension
# t dimension

The position of a dimension mark relative to the operator mark determines which dimensions are evaluated:

  • Dimension mark between operator marks (for example, &#&): the operator evaluates the specified dimension in addition to the x and y dimensions.

  • Dimension mark on both sides of the operator mark (for example, #&#): the operator evaluates only the specified dimension. The x, y, and other dimensions are excluded.

An operator with no dimension mark evaluates a two-dimensional (x and y) relationship only. When both dimension marks are present, the z dimension mark precedes the t dimension mark.

Operator and dimension mark combinations

The following examples show how operator marks and dimension marks combine to produce different evaluation behaviors.

Two-dimensional intersection (no dimension mark)

-- Checks whether the 2D bounding boxes of two objects intersect (x and y dimensions only)
geometry_a && geometry_b

Three-dimensional intersection (z dimension mark between operator marks)

-- Checks whether the bounding boxes intersect across the x, y, and z dimensions
geometry_a &/& geometry_b

Time-only intersection (t dimension mark on both sides)

-- Checks whether the bounding boxes intersect in the t dimension only
geometry_a #&# geometry_b

Four-dimensional intersection (z and t dimension marks between operator marks)

-- Checks whether the bounding boxes intersect across the x, y, z, and t dimensions
-- z dimension mark precedes t dimension mark
geometry_a &/#& geometry_b