且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用 XML 包将 TCX 导入 R

更新时间:2023-02-18 12:33:38

这是一个命名空间问题.就这样做

It is a namespace issue. Just do this

xmlToDataFrame(nodes <- getNodeSet(doc, "//ns:Trackpoint", "ns"))

要直接获取经纬度分割的位置,可以执行以下操作

To directly obtain position split by latitude and longitude, you could do the following

nodes <- getNodeSet(doc, "//ns:Trackpoint", "ns")
mydf  <- plyr::ldply(nodes, as.data.frame(xmlToList))
setNames(mydf, c('time', 'lat', 'long', 'alt', 'distance'))

它给了

                  time         lat        long        alt   distance
1 2011-10-30T16:05:48Z 52.33613318 -1.58814317 77.5234375 0.00000000
2 2011-10-30T16:05:49Z 52.33614810 -1.58814283 77.5234375 1.77584004
3 2011-10-30T16:05:54Z 52.33627098 -1.58818323 76.0814209 15.7694969