Jak przekonwertować punkty lon-lat na proste funkcje (sfg), a następnie umieścić je w prostej kolekcji funkcji (sfc)?
Oto MWE, które nie działa, ale jest najbliższe, na jakie się natknąłem.
library(data.table)
library(sf)
# The DT data.table is the data I have (but 10,000s of rows, each row is a point)
DT <- data.table(
place=c("Finland", "Canada", "Tanzania", "Bolivia", "France"),
longitude=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465),
latitude=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949),
crs="+proj=longlat +datum=WGS84")
DT[, rowid:=1:.N]
# The following two rows do not work
DT[, place.sfg:=st_point(x=c(longitude, latitude), dim="XY"), by=rowid]
places.sfc <- st_sfc(DT[, place.sfg], crs=DT[, crs])
# This should result in five points, which it doesn't
plot(places.sfc)
Próbuję nauczyć się prostych funkcji (dlatego nie chcę korzystać z biblioteki sp), a później muszę uruchomić st_buffer na sfc.
Może lepiej stworzyć SFFC bezpośrednio, bez SFF za punkt?
Używam data.table ze względu na szybkość (10 000 tysięcy punktów, które są również analizowane bez aspektów geograficznych).
Myślę, że potrzebuję sfc punktów sfg, a nie MULTIPOINT-sfg.