Wie kann ich Lon-Lat-Punkte in einfache Features (sfg) konvertieren und sie dann in eine einfache Feature-Sammlung (sfc) einfügen?
Hier ist ein MWE, der nicht funktioniert, dem ich aber am nächsten gekommen bin.
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)
Ich versuche, Simple Features zu erlernen (weshalb ich die Bibliothek sp nicht verwenden möchte) und muss später st_buffer auf dem sfc ausführen.
Vielleicht ist es besser, die sfc direkt zu erstellen, ohne eine sfg pro Punkt?
Ich verwende data.table aus Geschwindigkeitsgründen (zehntausende von Punkten, die auch ohne geografische Aspekte analysiert werden).
Ich glaube, ich brauche eine sfc von sfg-Punkten und keine MULTIPOINT-sfg.
Antworten:
Haben Sie versucht, mit st_as_sf () ein Objekt (sp, dataframe, ...) in ein sf- Objekt zu konvertieren ?
[Update] Wie von cengel kommentiert, wäre es wichtig, mit der raschen Entwicklung dieses Pakets Schritt zu halten.
quelle
Error in st_sf(x, ..., agr = agr) : no simple features geometry column present