2016-06-09 2 views

Répondre

5

char2dms (caractère en degrés, minutes, secondes) devrait vous aider

library(sp) 

as.numeric(char2dms("48° 26' 5\"N", chd = "°", chm = "'", chs='"')) 
# [1] 48.43472 

as.numeric(char2dms("7° 46' 36\"E", chd = "°", chm = "'", chs='"')) 
# [1] 7.776667 

Les arguments chd, CHM et déterminer chs les caractères qui identifient les degrés, minutes et secondes, respectivement. Le caractère \ (appelé caractère d'échappement) est nécessaire dans R pour indiquer que " fait partie de la chaîne.

Vous pouvez utiliser strsplit pour séparer la chaîne initiale en latitude et longitude.

pos <- "48° 26' 5\"N , 7° 46' 36\" E" 
pos <- unlist(strsplit(pos, ",")) 
as.numeric(char2dms(pos, chd = "°", chm = "'", chs='"')) 
# [1] 48.434722 7.776667 
+0

C'est génial. À votre santé. – gjabel

+0

Je ne connaissais pas cette fonction. Un de plus. – akrun