Existe-t-il un moyen sf-native (c'est-à-dire "correct") d'extraire tout sauf la colonne géométrie d'un objet d'entités simple? Cela marche
df <- dplyr::select(as.data.frame(sf), -geometry)
mais l' select( , -geometry)
étape semble inutile. En outre, cela ne supprime pas les attributs de géométrie.
df <- st_drop_geometry(df)
0.7-2
sur le cran. Et il est ici rdocumentation.org/packages/sf/versions/0.7-2/topics/...Réponses:
Définissez la
st_geometry
propriété surNULL
.Aussi (même si cela ne supprimera pas le
attr(nc, "sf_column"
):la source
nc$geometry <- NULL
, mais votre suggestion a fait l'affaire. Merci.sf %>% mutate(geometry = NULL)
ne fonctionne pasVoici une approche pipeable pour transformer un objet sf en un simple bloc de données sans géométrie. Utilisez la
st_set_geometry()
fonction:MODIFIER
Le 16/11/2018 , a
st_drop_geometry()
été ajouté à sf, ce qui le fait explicitement:la source
Ou juste
df[,-geometry_column]
si vous ne voulez pas créer de nouvel objetOù:
df - votre objet
geometry_column - colonne dans laquelle la géométrie est stockée
la source
sf[, -sf$geometry]
et reçoisError in Ops.sfc(grid.sf$geometry) : argument "e2" is missing, with no default
sf[, -geometry]
échoue avecError in -"geometry" : invalid argument to unary operator
. Reproduit avecdata(meuse, package = "sp"); meuse_sf <- st_as_sf(meuse); meuse_sf[, -geometry]
sf
paquet précédent , mais maintenant ce n'est pas le cas. Tout sous-ensemble de trames desf
données conserve la colonne de géométrie. Supprime s'il te plaît.