ฉันกำลังโยกย้ายรหัสจาก sp แพ็คเกจไปยังแพ็คเกจ sf ที่ใหม่กว่า รหัสก่อนหน้าของฉันฉันมีรูปหลายเหลี่ยม SpatialDataFrame (censimentoMap) และ SpatialPointDataFrame (indirizzi.sp) และฉันได้รับรูปหลายเหลี่ยมเซลล์ id ("Cell110") สำหรับแต่ละจุดที่วางไว้ภายในด้วยคำแนะนำด้านล่าง:
points.data <- over(indirizzi.sp, censimentoMap[,"Cell110"])
ที่จริงฉันสร้างวัตถุ sf สองอัน:
shape_sf <- st_read(dsn = shape_dsn)
shape_sf <- st_transform(x=shape_sf, crs=crs_string)
และ
indirizzi_sf = st_as_sf(df, coords = c("lng", "lat"), crs = crs_string)
และฉันกำลังมองหาเอสเอฟเทียบเท่าคำสั่งข้างต้น ...
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"]