如何解决如何将我的坐标从六进制更改为十进制?
我正在使用不同格式的坐标,并且我希望能够将r从十进制转换为六进制,反之亦然。我已经有了一个函数,可以将坐标从六进制快速转换为十进制,但方向却相反:
coord <- c("65º26.800'N","30º59.600'W") #Or specify a vector
#Convert function
dms2dec <- function(dms,separators = c("º","º","\'","\"")) {
# version 1.0 (25 Sep 3013)
# dms: a vector (or column) of latitude or longitude in degrees-minutes-seconds-hemisfere,e.g. 41? 34' 10.956" N (with or without spaces)
# separators: the characters that are separating degrees,minutes and seconds in dms
dms <- as.character(dms)
dms <- gsub(pattern = " ",replacement = "",x = dms)
for (s in separators) dms <- gsub(pattern = s,replacement = "_splitHere_",x = dms)
splits <- strsplit(dms,split = "_splitHere_")
n <- length(dms)
deg <- min <- sec <- hem <- vector("character",n)
for (i in 1:n) {
deg[i] <- splits[[i]][1]
min[i] <- splits[[i]][2]
hem[i] <- splits[[i]][4]
}
dec <- as.numeric(deg) + (as.numeric(min) / 60)
sign <- ifelse (hem %in% c("N","E"),1,1)
dec <- sign * dec
return(dec)
} # end dms2dec function
dms2dec(df$lat)
有什么想法可以修改此功能,以便选择十进制格式的纬度或经度值以六进制格式返回给我?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。