基于this question和相关,我使用测量:: conv_unit()将Degree:Min:Sec坐标转换为十进制。
然而,虽然正确的价值',我的回报是一个字符向量,而不是数字,因为应该根据我在其他地方看到的所有。
我的输入是每?measurements::conv_unit : "Coordinate: Values must be entered as a string with one space between subunits (e.g. 70° 33’ 11” = "70 33 11")."
示例:
df <- c("1 1 1", "-1 1 1", "2 2 2","-2 2 2")
measurements::conv_unit(df, from = 'deg_min_sec', to = 'dec_deg')
[1] "1.01694444444444" "-1.01694444444444" "2.03388888888889" "-2.03388888888889"
转换为数字(通过as.numeric())当然是一个简单的解决方案,但我认为首先不应该这样做。 无论我将df定义为c(),data.frame()还是tibble(),并且即使在干净(重新启动)的R会话中运行以上,结果也是一样的。 测量版本1.1.0,仅在今天安装。
我做错了什么或者发生了什么事?
答案 0 :(得分:0)
这是根据conv_unit
:
if (to == "dec_deg") inter = as.character(lapply(secs, function(y) y/3600))