swh:1:snp:a4c99a50dc49f82b591f268001b320f8c3ca0041
Raw File
Tip revision: 698183c35adc80e5e08cb2ef09ed13dc3c445a97 authored by John M Chambers on 12 June 2014, 00:00:00 UTC
version 1.0-6
Tip revision: 698183c
GPSTrack.R

setClassUnion("DateTime", c("POSIXt", "POSIXct", "POSIXlt"))

setClass("GPSTrack",
  representation(latitude = "numeric", longitude = "numeric",
                 elevation = "numeric", time = "DateTime")
)

scanGPSTrack <- function(con, 
    fields = list(date = "", time = "",
                    lat = 0., lon = 0., el = 0.),
    dateTimeFormat = "%Y-%m-%d %H:%M:%S") {
    data <- scan(con, fields)
    txt <- textConnection(paste(data$date, data$time), "r")
    dateTime <- .scanDateTime(txt, dateTimeFormat)
    close(txt)
    new("GPSTrack", latitude = data$lat, longitude = data$lon,
          elevation = data$el, time = dateTime)
}

.scanDateTime <- function(con, dateTimeFormat) {
    as.POSIXct(strptime(readLines(con), dateTimeFormat))
}
back to top