我有两个空间对象,一个是点nc_point
(n=50),另一个是多边形sample_polygons
(n=20)。其中一些点位于多边形中,可以使用nc_point[sample_polygons , ]
函数进行识别。
我的问题是如何获取所有未落在任何多边形中的点的子集,即其余的点?
# points layer contain 50 points
nc_point <- st_read(system.file("shape/nc.shp", package="sf")) %>%
st_centroid()
# the number of polygons is 20
set.seed(1)
sample_polygons <- st_read(system.file("shape/nc.shp", package="sf")) %>%
sample_n(20) %>%
select(geometry) # to mimic a situation where points are only identified using spatial correlation.
# points that fall in polygons can be identified using:
points_in <- nc_point[sample_polygons , ]
# how to find out points that are not fallen in any polygons?
感谢您,Phil。
sf::st_join
的文档向您展示了用于连接sf
对象的默认函数是st_intersects
,但您可以提供其他函数来进行连接。文档提供了一些建议列表,供您使用其他函数。 - camille