Importar y exportar archivos GPX en R

El objetivo del presente tutorial es aprender a importar un listado de archivos GPX (son los archivos nativos que se toman con el GPS) en R y exportarlos como archivos .csv, para aprender a exportar estos archivos csv a shapefile se puede leer este tutorialrealizado meses atrás.

Primero instalamos la librería “plotKML” y “data.table”, mediante el siguiente comando:

install.packages(«plotKML»)
install.packages(«data.table»)
require(plotKML)
require(data.table)
Escribimos la ruta donde está el listado de archivos gpx.
path <- "D:/Personal/_blog/_importGPX/_gpx"
listado <- list.files(path, full.names = T)
Ahora mediante el comando “lapply” aplicamos la función readGPX a todos los archivos gpx.
gpx_wayPoints_2 <- lapply(listado, FUN = readGPX, waypoints = TRUE, track = FALSE, routes = FALSE)
Ahora creamos un listado vacío para allí guardar las tablas de waypoints (puntos tomados con el GPS)
gpx_wayPoints3 <- list()
Para obtener solamente las tablas del archivo gpx, realizamos un ciclo mediante el cual iteramos en cada objeto de la lista obteniendo solamente la tabla
for (i in 1:length(listado)){
  gpx_wayPoints3[[i]] <- gpx_wayPoints_2[[i]]$waypoints
}
Mediante la siguiente línea de comando podemos observar las dimensiones de cada tabla, y así poder observar si tienen igual número de columnas
lapply(gpx_wayPointsList2, function(x){dim(x)})
Ahora mediante el comando “rbindlist” unimos los tres dataframe (tabla) dentro de uno solo
tabla <- rbindlist(gpx_wayPoints3)
dim(tabla) #podemos observer las dimensiones de la tabla
Por último guardamos la tabla en un archivo csv.
write.csv(tabla, «D:/Personal/_blog/_importGPX/tabla.csv»)
Los datos para realizar la práctica se encuentran disponibles en este enlace.