いつもの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の空間になります。こんなかんじ。
[code lang=‘python’] 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’}) [/code]
クエリ部分にちゃんと名前を入れたら取れた。今まで何やってたんだってかんじでガックリです。 [ad#text_wide]