r - R 中的交点和多边形

标签 r spatial shapefile intersect

我正在R中使用shapefile,一个是point.shp,另一个是polygon.shp。 现在,我想将点与多边形相交,这意味着多边形中的所有值都应附加到 point.shp 的表中。

我在sp包中尝试了overlay()和spRbind,但没有达到我预期的效果。

有人可以给我提示吗?

最佳答案

有了新的sf现在打包起来既快速又简单:

library(sf)
out <- st_intersection(points, poly)

其他选项

如果您不希望将多边形中的所有字段添加到点要素中,只需在之前对多边形要素调用 dplyr::select() 即可:

library(magrittr)
library(dplyr)
library(sf)

poly %>% 
  select(column-name1, column-name2, etc.) -> poly

out <- st_intersection(points, poly)

如果遇到问题,请确保您的多边形有效:

st_is_valid(poly)

如果您在此处看到一些 FALSE 输出,请尝试使其有效:

poly <- st_make_valid(poly) 

请注意,这些“有效”函数取决于使用 liblwgeom 编译的 sf 安装。

关于r - R 中的交点和多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647744/

相关文章:

r - 稳健回归中的 MM 估计

python - 如何设置 rpy2?

r - 您如何在 R 中使用多种处理进行中介分析

r - 一组点与 R 中 sf 的多边形之间的距离

REST 上传形状文件

r - 更改 R 中 ggplot 中组的顺序

algorithm - 3D聚类算法

c++ - C++ 应用程序中的 SqlGeometry?

r - 由于 NA 已被移除的轮廓多边形边界

python - b'从 ANSI 1252 到 UTF-8 的重新编码失败,错误为 : "Invalid argument".' geopandas python