TCXからNP, APを得る

3月 2nd, 2009 by key

いつものpython遊び。

以前試したときはXMLの名前空間が違うデータがうまく引っ張ってこられなかったんだけど、頭を冷やして考え直したらちゃんと動いた。

ちなみに、NPとAPの説明ですが、

NP = Normalized Power
AP = Average Power

とのことで、前者はアクティビティの平均パワー、後者は0W時(空走時)を含む平均パワーとなるそうです。アクティビティに空走時間や休憩時間が含まれる場合、NPよりもAPの値が低くなります。

python 2.5用のコードを書いたので置いておきます。

実行方法は引数にtcxファイルを与えるだけ。

mitsukuni% gtc_power.py /Volumes/GARMIN/Garmin/History/2009-03-02-00-56-57.tcx
Max Power: 922 Watts
Average Power: 119.00 Watts
Normalized Power: 160.00 Watts

ちなみにハマッたのはxpathのクエリ部分で、ExtensionエレメントまでがTrainingCenterDatabase v2の空間、TPX/WattsはActivityExtension v2の空間になります。こんなかんじ。

nodes = root.xpath('/n:TrainingCenterDatabase/n:Activities/n:Activity/n:Lap/n:Track/n:Trackpoint/n:Extensions/n2:TPX/n2:Watts/text()',
  namespaces={'n':'http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2',
              'n2':'http://www.garmin.com/xmlschemas/ActivityExtension/v2'})

クエリ部分にちゃんと名前を入れたら取れた。今まで何やってたんだってかんじでガックリです。

タグ: , ,

0 Responses to “TCXからNP, APを得る”

Feed for this Entry Trackback Address
  1. コメントはまだありません

コメントをどうぞ