GPSログをATGoogleMapsで(妄想編)
折角GPSログファイルがあるんだから、なんとかしてGoogleMapsで軌跡を表示できないかなと画策。
【環境】
- Zope-2.8.6-final (Linux)
- Plone-2.1.3
- ATGoogleMaps 0.3.0 改め、0.5.2 beta (tracから)
ネ申的なプロダクトATGoogleMaps。こりゃぁ良くできてるもんだと関心するばかりなんですが、Polylineに対応していないのが非常に残念。ヲレ的にはツーレポでコレを使うことが大半を占めると思うのでMarkerではなくどちらかというと軌跡がメインになっちゃうんですよねぇ(;´Д`)
て訳で、”GPolyline”というコンテンツを追加して、GPXLogger(Mio P350にて稼働)で出力したGPXファイルをうp。読み込んで軌跡生成出来ないかなぁと妄想してる次第です。
実現方法をもうちょっと細かくいうとこうなるかなぁ・・・。
1.GPXファイルから各情報抽出&情報加工
- GPXファイル=XML。なのでPyXMLを使えば、緯度、経度、高度、時間を比較的簡単に抽出できる。
- GPX以外のフォーマットへは未対応とする。んなの作ってたら死ぬ。確実に・・・。
- ログの間引きはナシ。故にGPS測定がバタついた情報も生トレースw 時速とかすごいことになるんだろうなぁ。
- でも、異常値(緯度や経度が0とか)を消すぐらいはする。
- GPXの測地系がWGS84。GoogleMapで扱う位置情報も同じなので数値変換等はなし。
- 時間がGMT(UTC?)なのでJSTに変換する必要があり(でないと時間が分からんw)。
- 高度、速度の変化グラフなんてのもPILで自動生成出来たらカコ(・∀・)イイ!
pythonでテストコードを作り、ファイルからdict構造体(?)に各情報をドカドカぶち込むことは成功。あとは他の機能かな。
2.ATGoogleMaps にPolylineを描く新アイテムを作る
- アイテムの編集可能FieldはGPXファイルを格納するFileFieldで。
- ↑のFileはFileSystemStorageでZODBの外に保存したい。
- ↑のFileをうp完了したときに、GPXファイルからの解析結果を保存。情報抽出に結構時間が掛かるのでView毎にせこせこやってたらシャレにならん。解析結果をどうにかして(Fieldとして?)保存しないと。
- 表示MAPはATGoogleMapsのGMap上というのはでふぉ。
- ↑に加えて、Imageファイルのようにthumb、preview、fullscreen等選べるようにして、画像の如く他のページにも埋め込み出来るようにしたい。・・・IFLAMEかなんかでできないかな?と妄想。
プロダクトなんて一度も作ったことがないし、そのArchtypesやらATContentTypeやらはAPI樹海そのもの。つまり、ぶっちゃけ言うとなにがなんだかさっぱり分からん。のですよww 解析エンジン(1.のやつ)は取りあえず必要最小限では出来たがPloneで動かないとまったく意味がないんですよけどね・・・orz
と、思いながらGoogle神で探しまくってると、開発者(多分)の Trac なるものを発見。ソースをダウソしてみるとGPolylineという同じようなコンテンツ(というかアイテムというのか)が入ってるではないですか!!! ・・・これはイケる。イケるぞ!ヲレ!!(かなり多分) よし。これをベースにして新しいのを作ってみよう。
・・・と言うわけで
ということで、これからGPXファイル解析後の情報加工エンジン作成と格闘します。・・・・さていつになったらできるのやらw