Experimental low-level spatial join infrastructure based on the
geos_basic_strtree()
.
geos_inner_join(
x,
y,
predicate = "intersects",
distance = NA,
suffix = c(".x", ".y")
)
geos_inner_join_keys(x, y, predicate = "intersects", distance = NA)
Geometry vectors with a wk::wk_handle()
method.
One of:
intersects
contains
contains_properly
covered_by
covers
crosses
equals
equals_exact
intersects
within_distance
overlaps
touches
Passed to geos_is_within_distance()
when predicate
is "within_distance"; passed to geos_equals_exact()
when predicate
is "equals_exact.
A character vector of length 2 with suffixes for the left and right sides for output columns with duplicated names.
A data.frame with columns x and y corresponding to the 1-based
indices on pairs of x
and y
for which predicate
is TRUE.
x <- data.frame(
col_x = "a",
geometry = as_geos_geometry("POINT (10 10)")
)
y <- data.frame(
col_y = "a",
geometry = as_geos_geometry("POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))")
)
geos_inner_join(x, y, "intersects")
#> col_x geometry.x col_y geometry.y
#> 1 a <POINT (10 10)> a <POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))>
geos_inner_join_keys(
"POINT (5 5)",
"POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))",
"intersects"
)
#> x y
#> 1 1 1