Skip to main content

nodedb_spatial/predicates/
relations.rs

1// SPDX-License-Identifier: Apache-2.0
2
3//! Predicates derived directly from the primitive contains/intersects tests.
4
5use nodedb_types::geometry::Geometry;
6
7use super::contains::st_contains;
8use super::intersects::st_intersects;
9
10/// ST_Within(a, b) — A is fully within B. Equivalent to ST_Contains(b, a).
11pub fn st_within(a: &Geometry, b: &Geometry) -> bool {
12    st_contains(b, a)
13}
14
15/// ST_Disjoint(a, b) — no shared space. Inverse of ST_Intersects.
16pub fn st_disjoint(a: &Geometry, b: &Geometry) -> bool {
17    !st_intersects(a, b)
18}