查找零距离方差和记录瓦特的条目

时间:2015-06-01 00:06:21

标签: regex xml vim garmin

我是一名自行车手和一名程序员。在我的游乐设施中,我使用基于手机的GPS跟踪器和功率计将数据记录到xml文件中。骑行后,我使用功率计软件合并数据,然后上传到网站。在网站上,结果数据显示WR Watts的数据非常不准确(这是一个加权平均值,也称为归一化功率,根据定义,它高于平均功率并低于我的最大记录功率。请参阅http://ridewithgps.com/trips/4834566 (导出TCX历史记录以获取我所指的文件)。/<Watts>\d{4,}不返回任何结果。

Calories:   1809
Max Watts:  676
Avg. Watts: 213 (170 with 0s)
WR Power    23487
Work    1681 kJ
Max Speed:  26.2 mph
Avg. Speed: 16.6 mph

以下是tcx历史文件中的两个样本读数。

      <Trackpoint>
        <Time>2015-05-30T11:35:50Z</Time>
        <Position>
          <LatitudeDegrees>41.96306</LatitudeDegrees>
          <LongitudeDegrees>-87.645939</LongitudeDegrees>
        </Position>
        <AltitudeMeters>177.7</AltitudeMeters>
        <DistanceMeters>71.5</DistanceMeters>
        <Cadence>67</Cadence>
        <Extensions>
          <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
            <Watts>104</Watts>
          </TPX>
        </Extensions>
      </Trackpoint>
      <Trackpoint>
        <Time>2015-05-30T11:35:51Z</Time>
        <Position>
          <LatitudeDegrees>41.963076</LatitudeDegrees>
          <LongitudeDegrees>-87.646094</LongitudeDegrees>
        </Position>
        <AltitudeMeters>178.0</AltitudeMeters>
        <DistanceMeters>75.7</DistanceMeters>
        <Cadence>67</Cadence>
        <Extensions>
          <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
            <Watts>156</Watts>
          </TPX>
        </Extensions>
      </Trackpoint>

我已经审核了相应的Cadence为零的<Watts>\d*</Watts>的每个条目(如果我没有踩踏板,则瓦特应为零)。

:g/<Cadence>0/.,+3s/<Watts>[1-9]\d*/<Watts>0/c

但这并没有解决问题。我的下一步是找到跟踪点之间的距离不会改变且包含大于零的瓦数的条目。这将返回E65:非法后退参考

:g/<DistanceMeters>\(\d*\)/+1,+15s/<DistanceMeters>\1/

澄清:

我正在寻找Watts必须为零但不是零的位置。这些将是我没有踩踏板的地方(Cadence = 0)以及我不移动的地方(相同的连续距离节点)。我已经校正了瓦数= 0的瓦数,但不知道如何找到N不变的连续<DistanceMeters>N</DistanceMeters>个节点。

1 个答案:

答案 0 :(得分:4)

如果有足够的决心,可以做到:

SELECT MIN(salary), MAX(salary), AVG(salary), teamID, yearID FROM 
salaries group by teamID,yearID

然而,为什么地球上你想在Vim中做到这一点?