私はサイクリストでプログラマーです。乗車中は、電話ベースの GPS トラッカーとパワー メーターを使用してデータを xml ファイルに記録しています。乗車後、パワーメーターソフトウェアを使用してデータをマージし、Web サイトにアップロードします。Web サイトでは、結果のデータは WR ワットの非常に不正確なデータを示しています (これは加重平均であり、正規化された電力としても知られています。定義により、平均電力よりも高く、記録された最大ワットよりも低くなります。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 履歴ファイルからの 2 つの読み取り例を示します。
<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>
対応するケイデンスがゼロだった場所について、すべてのエントリを確認しました<Watts>\d*</Watts>
(ペダリングしていない場合、ワットはゼロになるはずです)。
:g/<Cadence>0/.,+3s/<Watts>[1-9]\d*/<Watts>0/c
しかし、それで問題は解決しませんでした。次のステップは、トレースポイント間の距離が変化せず、ゼロより大きいワット数を含むエントリを見つけることです。これは E65: Illegal back reference を返します
:g/<DistanceMeters>\(\d*\)/+1,+15s/<DistanceMeters>\1/
説明:
ワットがゼロでなければならず、そうでない場所を探しています。これらは、私がペダリングしていない場所 (ケイデンス = 0) と、移動していない場所 (同一の連続距離ノード) です。ケイデンス = 0 のワット数を既に修正しましたが<DistanceMeters>N</DistanceMeters>
、N が変更されていない連続したノードを見つける方法がわかりません。