Я проверил шейп-файл nc1 и обнаружил, что объекты имеют только 1 точку на объект, даже если они LINESTRING
.
. Удалите эти 1-точечные LINESTRING
, операция st_intersects
может быть успешной.
nc1$cnt2 = stringr::str_count(nc1$geometry, ",")
Здесь cnt2
- это недавно созданный столбец data.frame
для хранения номера ","
в столбце geometry
. Это может указывать количество баллов за каждую функцию.
library('dplyr')
nc3 = filter(nc1, cnt2>1)
Мы можем сделать:
res= st_intersects(nc3, nc2)
или:
res = st_join(nc3, nc2, join = st_intersects)