Skip to main content

nodedb_spatial/predicates/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2
3pub mod contains;
4pub mod distance;
5pub mod edge;
6pub mod intersection;
7pub mod intersects;
8
9pub use contains::st_contains;
10pub use distance::{st_distance, st_dwithin};
11pub use intersection::st_intersection;
12pub use intersects::st_intersects;
13
14use nodedb_types::geometry::Geometry;
15
16/// ST_Within(a, b) — A is fully within B. Equivalent to ST_Contains(b, a).
17pub fn st_within(a: &Geometry, b: &Geometry) -> bool {
18    st_contains(b, a)
19}
20
21/// ST_Disjoint(a, b) — no shared space. Inverse of ST_Intersects.
22pub fn st_disjoint(a: &Geometry, b: &Geometry) -> bool {
23    !st_intersects(a, b)
24}