Ye *_* Xu 4 geography r coordinates ggplot2 ggmap
我有一个原始的经度/纬度数据,其格式无法由R map处理.所以我想知道是否有一些R函数或算法来帮助我将这些原始数据转换为可读格式.(也许是UTM)这是我的原始数据:
纬度: "32-14-23 N""31-04-27 N""33-45-28 N"
经度: "121-22-38 W""119-30-05 W""122-47-52 W"
我希望将格式转换为(下面的示例是模拟数据):
经度: -2.748
纬度: 53.39
arv*_*000 14
看起来你有度/分/秒格式的数据,你想要它的十进制格式.您可以使用包中的char2dms
函数sp
从字符串转换为度 - 分 - 秒对象,然后使用as.numeric
转换为十进制
例:
> as.numeric(sp::char2dms("32d14'23\"N"))
[1] 32.23972
> as.numeric(sp::char2dms("121d22'38\" W"))
[1] -121.3772
Run Code Online (Sandbox Code Playgroud)
还要注意的char2dms
是寻找类似32d14'23" N
,不是32-14-23 N
,所以你可能要装配正确的琴弦.使用magrittr
管道链:
"32-14-23 N" %>%
sub('-', 'd', .) %>%
sub('-', '\'', .) %>%
sub(' ', '" ', .) %>%
char2dms %>%
as.numeric
Run Code Online (Sandbox Code Playgroud)