Migruję kod z pakietu sp do nowszego pakietu sf. Mój poprzedni kod miałem wielokąta SpatialDataFrame (censimentoMap) i SpatialPointDataFrame (indirizzi.sp) i otrzymałem identyfikator komórki wielokąta („Cell110”) dla każdego punktu leżącego w obrębie poniższej instrukcji:
points.data <- over(indirizzi.sp, censimentoMap[,"Cell110"])
Właściwie stworzyłem dwa obiekty sf:
shape_sf <- st_read(dsn = shape_dsn)
shape_sf <- st_transform(x=shape_sf, crs=crs_string)
i
indirizzi_sf = st_as_sf(df, coords = c("lng", "lat"), crs = crs_string)
I szukam sf odpowiednika powyższej instrukcji ... Niech będzie:
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"]