GPXファイルを読み込む

MathematicaでGPXファイルを読み込んで解釈する方法のメモ。

対象となるGPXファイルを

xml = Import[filepath, "XML"];

でまずXMLとして読み込んでおいて、

trk = Cases[xml, XMLElement["trk", _, _], Infinity];

でtrk要素を抜き出し、

trkpt = (ToExpression[{"lat", "lon"} /. Cases[#1, XMLElement["trkpt", attr_, _] :> attr, Infinity]] & ) /@ trk;

でそれぞれのtrk要素からtrkpt要素を抜き出して緯度と経度を得る。


Sep. 28 2013追記

Mathematica 8からは標準でGPXをImport可能になった。