Tôi đang chuyển mã từ gói sp sang gói sf mới hơn. Mã trước đây của tôi, tôi có một đa giác SpatialDataFrame (censimentoMap) và SpatialPointDataFrame (indirizzi.sp) và tôi đã nhận được id ô đa giác ("Cell110") cho mỗi điểm nằm trong hướng dẫn bên dưới:
points.data <- over(indirizzi.sp, censimentoMap[,"Cell110"])
Thật ra tôi đã tạo hai đối tượng sf:
shape_sf <- st_read(dsn = shape_dsn)
shape_sf <- st_transform(x=shape_sf, crs=crs_string)
và
indirizzi_sf = st_as_sf(df, coords = c("lng", "lat"), crs = crs_string)
Và tôi đang tìm kiếm sf tương đương với hướng dẫn trên ... Di chuyển nó là:
ids<-sapply(st_intersects(x=indirizzi_sf,y=shshape_sfpeCrif), function(z) if (length(z)==0) NA_integer_ else z[1])
cell_ids <- shape_sf[ids,"Cell110"]