r-整理杂乱的坐标,用于测量



我有一些相当混乱的度数,十进制分钟坐标(其来源超出了我的控制范围(,格式如下(见下文(。我正试图最终算出这些点之间的距离。

minlat <- "51  12.93257'"
maxlat <- "66  13.20549'"
minlong <- "- 5   1.23944'"
maxlong <- "- 5   1.36293'"

事实上,它们的格式(来自measurements包(:

measurements::conv_unit(minlat, from = 'deg_dec_min', to = 'dec_deg')

最终

distm(c(minlong, minlat), c(maxlong, maxlat), fun = distHaversine)

我想我需要使用gsub(将它们转换成友好的格式,我希望它们是

minlat <- 51 12.93257 # removing the double space
minlong <- -4 1.36293 # removing the double space and the space after the -

我一直在摆弄gusb(整个上午,它打败了我,任何帮助都会很棒!!

听起来你只需要去掉所有多余的空白。我们可以尝试在此处使用带有查找功能的gsub

minlong <- " - 5   1.23944 "   # -5 1.23944
minlong
gsub("(?<=^|\D) | (?=$|\D)", "", gsub("\s+", " ", minlong), perl=TRUE)
[1] " - 5   1.23944 "
[1] "-5 1.23944"

gsub的内部调用仅用一个空间替换出现的两个或多个空间。然后,如果剩余的单个空格不夹在两位数字之间,则外部调用选择性地仅删除。

相关内容

  • 没有找到相关文章

最新更新