I'm dealing with some irregular and poorly thought through data with GPS coordinates and I need to make them more useable and pipeable.
I've been basing my work on the angle2dec function that I found on here:
angle2dec <- function(angle) { angle <- as.character(angle) x <- do.call(rbind, strsplit(angle, split=' ')) #decimal points where they should and should not be here #causes my issue as i can't use a consistent string split #character. splitting the first 3 '.' occurrences might work x <- apply(x, 1L, function(y) { y <- as.numeric(y) y[1] + y[2]/60 + y[3]/3600 }) return(x)
}
However my data is not nicely formatted. A coordinate looks like this:
'53.17.35.852'
The ang2dec function works for coordinates that follow this format:
ang2dec('53 17 35.852') = 53.29329
(This is the correct result)
Clearly the problem is the poor choice of formatting of the coordinate. Can anyone suggest a way that I can convert the first format of coordinate into the second or propose changes to the ang2dec function that would include the functionality that I am looking for?