Exportar tabla de atributos a excel en R
Edgar Calzada
December 7, 2019
En este artículo explicaré brevemente la forma de exportar la tabla de atributos de un shapefile a excel mediante el paquete openxlsx en RStudio.
Cuando manejamos información geográfica en formato shapefile la tabla de atributos se almacena en un archivo dbf. En ocasiones en las que necesitamos trabajar con la tabla de atributos puede ser más sencillo mediante una hoja de datos, esto es posible lograrlo si exportamos el archivo dbf a un formato de archivos que admita Excel. El proceso es muy sencillo en RStudio y únicamente se requiere de los paquetes sf (para el manejo de información geográfica) y openxlsx (para creación de archivos de excel). Es momento de revisar el procedimiento y lo primero que necesitamos es un archivo shapefile (descargarlo aquí) que puede ser de cualquier tipo de geometría, y en paralelo tener instaladas las librerías antes mencionadas. Repasemos las líneas de comando que debemos de utilizar para realizar el procedimiento completo, importante recordar que los comentarios aparecen antecedidos por el símbolo # y los comandos del paquete sf por el prefijo st_.
#Activación de los paquetes sf y openxlsx
library(sf)
## Warning: package 'sf' was built under R version 3.4.4
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 3.4.4
#Se determina la ruta de trabajo (previamente se genera una carpeta en disco C que se llame RSTudio)
setwd("C:/RStudio")
#Se lee el archivo shapefile de geometría de puntos
puntos <- st_read("vertices.shp")
## Reading layer `vertices' from data source `C:\RStudio\vertices.shp' using driver `ESRI Shapefile'
## Simple feature collection with 469 features and 3 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -99.27922 ymin: 19.36639 xmax: -99.26181 ymax: 19.37702
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
#Visualizamos shape para observar la distribución espacial de los puntos
plot(st_geometry(puntos), axes=T)
Para realizar la conversión de la tabla de atributos del shapefile a excel debemos: (i) convertir el shapefile a un objeto dataframe, (ii) eliminar la columna de geometría y (iii) exportar en formato xlsx.
#Convertir a data frame
df <- as.data.frame(puntos)
#Eliminar columna de geometría
df$geometry <- NULL
#Exportar a formato de excel
write.xlsx(df, "vertices.xlsx", colNames = TRUE)
## Note: zip::zip() is deprecated, please use zip::zipr() instead
Como se puede observar el proceso es muy sencillo y únicamente necesitamos dirigirnos a la carpeta de trabajo en donde se guardó el archivo de excel, para este ejemplo con el nombre “vertices.xlsx” y listo podemos comenzar a utilizarlo.
Espero te sea de ayuda, compartelo y recibe un saludo.