我的目标是将坐标对矩阵转换为单个字符串,并将坐标对粘贴在一起。例如,我有一个线字符串的坐标:
mat <- routes@lines[[9]]@Lines[[1]]@coords
mat
[,1] [,2]
[1,] -122.4491 37.7698
[2,] -122.4519 37.7694
[3,] -122.4491 37.7698
我想将其转换为:
"-122.4491,37.7698;-122.4519,37.7694;-122.4491,37.7698"
其中一对的纬度和经度以逗号分隔,成对以分号分隔。
apply(format(mat), 1, paste, sep=";", collapse = "")
未产生所需的输出。在 R 中如何做到这一点?
这是示例数据:
dput(mat)
structure(c(-122.4491, -122.4519, -122.4491, 37.7698, 37.7694,
37.7698), .Dim = c(3L, 2L))
最佳答案
mat <- structure(c(-122.4491, -122.4519, -122.4491, 37.7698, 37.7694, 37.7698), .Dim = c(3L, 2L))
这是一个矩阵,坐标在两列中。您只需调用一次即可粘贴。
paste(mat[,1], mat[,2], sep = ",", collapse = ";")
# [1] "-122.4491,37.7698;-122.4519,37.7694;-122.4491,37.7698"
这里sep
设置lat和long坐标之间的分隔符(同一行的单元格),collapse
设置坐标对之间的分隔符(不同行之间的分隔符) .
关于r - 用两个分隔符连接矩阵行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49104362/