s2_closest_feature {s2} | R Documentation |
Matrix Functions
Description
These functions are similar to accessors and predicates, but instead of
recycling x
and y
to a common length and returning a vector of that
length, these functions return a vector of length x
with each element
i
containing information about how the entire vector y
relates to
the feature at x[i]
.
Usage
s2_closest_feature(x, y)
s2_closest_edges(
x,
y,
k,
min_distance = -1,
max_distance = Inf,
radius = s2_earth_radius_meters()
)
s2_farthest_feature(x, y)
s2_distance_matrix(x, y, radius = s2_earth_radius_meters())
s2_max_distance_matrix(x, y, radius = s2_earth_radius_meters())
s2_contains_matrix(x, y, options = s2_options(model = "open"))
s2_within_matrix(x, y, options = s2_options(model = "open"))
s2_covers_matrix(x, y, options = s2_options(model = "closed"))
s2_covered_by_matrix(x, y, options = s2_options(model = "closed"))
s2_intersects_matrix(x, y, options = s2_options())
s2_disjoint_matrix(x, y, options = s2_options())
s2_equals_matrix(x, y, options = s2_options())
s2_touches_matrix(x, y, options = s2_options())
s2_dwithin_matrix(x, y, distance, radius = s2_earth_radius_meters())
s2_may_intersect_matrix(x, y, max_edges_per_cell = 50, max_feature_cells = 4)
Arguments
x , y |
Geography vectors, coerced using |
k |
The number of closest edges to consider when searching. Note that in S2 a point is also considered an edge. |
min_distance |
The minimum distance to consider when searching for
edges. This filter is applied after the search is complete (i.e.,
may cause fewer than |
max_distance |
The maximum distance to consider when searching for edges. This filter is applied before the search. |
radius |
Radius of the earth. Defaults to the average radius of
the earth in meters as defined by |
options |
An |
distance |
A distance on the surface of the earth in the same units
as |
max_edges_per_cell |
For |
max_feature_cells |
For |
Value
A vector of length x
.
See Also
See pairwise predicate functions (e.g., s2_intersects()
).
Examples
city_names <- c("Vatican City", "San Marino", "Luxembourg")
cities <- s2_data_cities(city_names)
country_names <- s2_data_tbl_countries$name
countries <- s2_data_countries()
# closest feature returns y indices of the closest feature
# for each feature in x
country_names[s2_closest_feature(cities, countries)]
# farthest feature returns y indices of the farthest feature
# for each feature in x
country_names[s2_farthest_feature(cities, countries)]
# use s2_closest_edges() to find the k-nearest neighbours
nearest <- s2_closest_edges(cities, cities, k = 2, min_distance = 0)
city_names
city_names[unlist(nearest)]
# predicate matrices
country_names[s2_intersects_matrix(cities, countries)[[1]]]
# distance matrices
s2_distance_matrix(cities, cities)
s2_max_distance_matrix(cities, countries[1:4])