Например, допустим, у меня есть объект sf
, содержащий 4 города в смежных Соединенных Штатах и их координаты. И тогда у меня есть sf
объект с 48 функциями (по одному на каждое возможное состояние). Есть ли способ выбрать подмножество штатов, которые содержат назначенные города? Что-то вроде:
cities_sf
state_sf %>%
filter(states s.t. there exists x in cities_sf s.t. x in states_sf) +
ggplot() +
...
Редактировать : st_within(my_cities, my_states)
дал мне
structure(list(290L, 378L, 51L, integer(0), 283L, 478L, 415L,
380L, 489L, 64L, 189L, 184L, 311L, 488L, 66L, 73L, 49L, 1L,
359L, 111L, 502L, 489L, 272L, 115L, 352L, 241L), predicate = "within",
region.id = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
"12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23",
"24", "25", "26"), ncol = 544L, class = "sgbp")
Я могу сказать, что эти 26 индексов соответствуют мультиполигонам в my_states
, которые содержат города, но я не уверен, как работать с этим SGBD («двоичным предикатом разреженной геометрии», в соответствии с документацией) в ggplot
/ geom_sf
условия
edit 2 : я закончил с использованием slice(states_sf, unlist(st_within(cities_sf, states_sf)))
, который дает sf
объект, который является подмножеством, которое мне нужно