<- function(x){
format.position <- sign(x)
sign.x <- abs(x)
x <- ifelse(nchar(x)==3, paste("0",x,sep=""), x)
x <- ifelse(nchar(x)==2, paste("00",x,sep=""), x)
x <- ifelse(nchar(x)==1, paste("000",x,sep=""), x)
x <- as.numeric(paste(substring(x,1,2)))+as.numeric(paste(substring(x,3,4)))/60
dec.x <- sign.x*dec.x
dec.x }
It might happen that Latitude and Longitude of your spatially referenced data are formatted like this c(4530.12, 1310.02)
, i.e. as Decimal Minutes (D° M.M’). This is likely not a friendly a format for your analysis. However, with this function you can convert it to the more R friendly format Decimal Degrees (D.D°). The function was provided me by Patrik Börjesson (SLU Aqua).
Reproducible example
= 4530.12
lat.dm.m = format.position(lat.dm.m)
lat.d.d lat.d.d
[1] 45.5