vibespatial.predicates.binary

Attributes

Classes

NullBehavior

Enum where members are also (and must be) strings

CoarseRelation

Enum where members are also (and must be) strings

BinaryPredicateSpec

BinaryPredicateResult

Functions

supports_binary_predicate(→ bool)

binary_predicate_expression(predicate, left, right, *)

Return row-aligned binary predicate results as a private expression.

binary_predicate_expressions(predicates, left, right, *)

Return multiple row-aligned predicate vectors as native expressions.

evaluate_binary_predicate(→ BinaryPredicateResult)

evaluate_geopandas_binary_predicate(→ numpy.ndarray | None)

benchmark_binary_predicate(→ dict[str, int])

Module Contents

vibespatial.predicates.binary.PredicateInput
class vibespatial.predicates.binary.NullBehavior

Enum where members are also (and must be) strings

PROPAGATE = 'propagate'
FALSE = 'false'
class vibespatial.predicates.binary.CoarseRelation

Enum where members are also (and must be) strings

INTERSECTS = 'intersects'
CONTAINS = 'contains'
WITHIN = 'within'
DISJOINT = 'disjoint'
class vibespatial.predicates.binary.BinaryPredicateSpec
name: str
coarse_relation: CoarseRelation
shapely_op: str
class vibespatial.predicates.binary.BinaryPredicateResult
predicate: str
values: numpy.ndarray
row_count: int
candidate_rows: numpy.ndarray
coarse_true_rows: numpy.ndarray
coarse_false_rows: numpy.ndarray
runtime_selection: vibespatial.runtime.RuntimeSelection
precision_plan: vibespatial.runtime.precision.PrecisionPlan
robustness_plan: vibespatial.runtime.robustness.RobustnessPlan
vibespatial.predicates.binary.PREDICATE_SPECS: dict[str, BinaryPredicateSpec]
vibespatial.predicates.binary.supports_binary_predicate(name: str) bool
vibespatial.predicates.binary.binary_predicate_expression(predicate: str, left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.GPU, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO, source_token: str | None = None, operation: str | None = None)

Return row-aligned binary predicate results as a private expression.

This is the Native* consumer path for admitted binary predicates. It keeps the bool vector on device so sanctioned callers can lower directly to a NativeRowSet instead of exporting a public bool Series.

vibespatial.predicates.binary.binary_predicate_expressions(predicates: collections.abc.Sequence[str], left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.GPU, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO, source_token: str | None = None, operation_prefix: str = 'binary_predicate')

Return multiple row-aligned predicate vectors as native expressions.

Physical shape: aligned pairwise predicate expression. For all-DE-9IM, non-point family pairs, one candidate/refine pass computes all requested predicates and scatters full-size device vectors. Other admitted native shapes reuse the single-predicate expression producer per predicate.

vibespatial.predicates.binary.evaluate_binary_predicate(predicate: str, left: PredicateInput, right: object | PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO, null_behavior: NullBehavior | str = NullBehavior.PROPAGATE, **kwargs: Any) BinaryPredicateResult
vibespatial.predicates.binary.evaluate_geopandas_binary_predicate(predicate: str, left: numpy.ndarray | vibespatial.geometry.owned.OwnedGeometryArray, right: object | numpy.ndarray | vibespatial.geometry.owned.OwnedGeometryArray, **kwargs: Any) numpy.ndarray | None
vibespatial.predicates.binary.benchmark_binary_predicate(predicate: str, left: PredicateInput, right: object | PredicateInput, **kwargs: Any) dict[str, int]