« GPSデータからグラフ作り:1)折れ線グラフを書く | メイン | GPSデータからグラフ作り:3)経度・緯度で指定した2地点間の距離を求める »

2007年02月24日

GPSデータからグラフ作り:2)GPXのファイル読み込み

グラフを描く環境ができたので、次はPHPでGPXのファイルを読み込んで各地点の経度・緯度座標と標高を求める方法を検討しました。

XMLファイルの解析はPHPに解析用のライブラリが用意されているので、解析するのは非常に簡単です。

---------------------------------------
$fname="sample2.xml";
$data=implode("",file($fname));
$xml_parser = xml_parser_create('UTF-8');
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($xml_parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($xml_parser, $data, $values, $idx);
xml_parser_free($xml_parser);
---------------------------------------

とするだけで、XMLの解析が完了します。
ちょっと理解しにくいのですが、$valuesと$idxにデータが分けて入ってます。
GPSの最初のデータにアクセスする場合、
緯度: $values[$idx['trkpt'][0]]['attributes']['lat']
経度: $values[$idx['trkpt'][0]]['attributes']['lon']
標高: $values[$idx['ele'][0]]['value']
時刻: $values[$idx['ele'][0]]['time']
にデータが入ってます。

これでGPSのデータを読み込むことができました。
ちなみに元のGPXファイルがこちら
プログラムで解析した結果はこちら(ソースコードを見ると改行された表示が見えます)

⇒ 次は経度・緯度で指定した2地点間の距離を求める方法です。


人気blogランキング
投稿者 matoyan : 2007年02月24日 00:25

コメント

コメントしてください




保存しますか?