Comment puis-je convertir des points lon-lat en fonctionnalités simples (sfg), puis les placer dans une collection de fonctionnalités simples (sfc)?
Voici un MWE qui ne fonctionne pas mais qui est le plus proche de moi.
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)
J'essaie d'apprendre des fonctionnalités simples (c'est pourquoi je ne veux pas utiliser la bibliothèque sp), et je dois plus tard exécuter st_buffer sur le sfc.
Peut-être mieux de créer le sfc directement, sans sfg par point?
J'utilise data.table pour des raisons de vitesse (10 000s de milliers de points qui sont également analysés sans aspects géographiques).
Je pense que j'ai besoin d'un sfc de points sfg, et non d'un sfg MULTIPOINT.
Réponses:
Avez-vous essayé st_as_sf () qui convertit un objet (sp, dataframe, ...) en un objet sf ?
[Mise à jour] Comme l'a commenté cengel, il serait important de suivre le développement rapide de ce paquet.
la source
Error in st_sf(x, ..., agr = agr) : no simple features geometry column present