我正在尝试读取一系列TCX文件(培训中心XML文件),其中包含来自一系列锻炼的gps点到R中进行分析。这些文件表明它们是用UTF-8编码的,但是其中一些在某些元数据字段中包含外来字符(例如ü)。我的脚本适用于仅具有标准拉丁字符的文件,但对包含它们的文件却无效。 如何导入这些文件?
我正在使用TrackeR软件包中的readTCX函数。
library(TrackeR)
file <- "bad_example.tcx"
points_tcx <- readTCX(file.tcx)
# Error in doc_parse_file(con, encoding = encoding, as_html = as_html, options = options) :
# Input is not proper UTF-8, indicate encoding !
# Bytes: 0xFC 0x6D 0x65 0x67 [9]
如果我将文件顶部附近的[Sümeg]更改为[Sumeg],则会读取同一文件
我愿意接受任何解决方案。
我认为所有令人反感的角色都将在同一个区块中。
bad_example.tcx
<?xml version="1.0" encoding="UTF-8"?> <TrainingCenterDatabase creator="Smashrun" xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd" xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1" xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2" xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2" xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1"> <Activities>
<Activity Sport="Running">
<Notes><![CDATA[Sümeg]]></Notes>
<Id>2018-01-18T07:38:00</Id>
<Lap StartTime="2018-01-18T07:38:00.000Z">
<TotalTimeSeconds>3705</TotalTimeSeconds>
<DistanceMeters>11000</DistanceMeters>
<MaximumSpeed>48.100113398866</MaximumSpeed>
<Intensity>Active</Intensity>
<TriggerMethod>Manual</TriggerMethod>
<Track>
<Trackpoint>
<Time>2018-01-18T07:38:00.000Z</Time>
<Position>
<LatitudeDegrees>46.984227</LatitudeDegrees>
<LongitudeDegrees>17.277231</LongitudeDegrees>
</Position>
<AltitudeMeters>182.18</AltitudeMeters>
<DistanceMeters>0</DistanceMeters>
<Extensions>
<TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
<Speed>0</Speed>
</TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-18T07:38:04.000Z</Time>
<Position>
<LatitudeDegrees>46.984227</LatitudeDegrees>
<LongitudeDegrees>17.277231</LongitudeDegrees>
</Position>
<AltitudeMeters>182.18</AltitudeMeters>
<DistanceMeters>0.11</DistanceMeters>
<Extensions>
<TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
<Speed>0</Speed>
</TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-18T07:38:10.000Z</Time>
<Position>
<LatitudeDegrees>46.984159</LatitudeDegrees>
<LongitudeDegrees>17.277335</LongitudeDegrees>
</Position>
<AltitudeMeters>182.38</AltitudeMeters>
<DistanceMeters>11.11</DistanceMeters>
<Extensions>
<TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
<Speed>1.81490912544873</Speed>
</TPX>
</Extensions>
</Trackpoint>
</Track>
</Lap>
</Activity> </Activities>