library(sp)
library(rgdal)
# here, m ygpx files reside in subdirectories..
setwd("D:/WEB/gardaweb")
files <- dir(pattern="*.gpx$", recursive = T, include.dirs = T)
# extract spatial lines
spl <- lapply(files, function(x) {readOGR(x, "tracks")@lines[[1]]} )
str(spl)
# apply ID to ID slot for latter merge with attribute data
for(i in 1:length(spl)) {slot(spl[[i]], "ID") <- as.character(i)}
tracksSL <- SpatialLines(spl, proj4string = CRS("+proj=longlat +datum=WGS84"))
# view data
summary(tracksSL)
plot(tracksSL)
# make dataframe for merging with spatial data
names <- sub("[.]gpx$", "", basename(files))
df <- data.frame(names = names, row.names = sapply(slot(tracksSL, "lines"), function(x) slot(x, "ID")))
# spatial dataframe
tracksSLDF <- SpatialLinesDataFrame(tracksSL, data = df)
# write ressult to KML
writeOGR(tracksSLDF, dsn="tracks_collection.kml", layer= "Wolfi_Garda_Tracks", driver="KML", dataset_options=c("NameField=names"))
18 Oct 2016
Collect GPX-Files from Subdirectories and Convert to Single KML File
Reference: https://cran.r-project.org/web/packages/sp/vignettes/intro_sp.pdf
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment