概要と前提
「自動運転の走行履歴を地図上に描画できれば解析が楽なのでは???」
と思い、緯度経度日付の情報をもとにplotをしていく記事です。autowareの環境構築や座標変換などのツールに関する説明は省かせてください。
緯度、経度、時刻の情報は用意されているものを使用しました。
35.61976132351556 139.77989858836102 2022-09-01 10:20:22.164477
.
.
35.62041580074247 139.77953530534174 2022-09-01 10:20:31.786464
35.621097767605946 139.77921576631155 2022-09-01 10:20:41.405413
35.62177083089212 139.7789073991445 2022-09-01 10:20:51.024529
35.622434542924566 139.77856604237553 2022-09-01 10:21:00.924588
やってみたこと
とりあえ地図を表示してみる
手始めにまずこの記事を参考にしながらpythonで地図を表示してみました。
https://qiita.com/Kumanuron-1910/items/12ce7aa02922927de2f4
foliumのピンは他にも色や形状などのオプションがあるようです。ピンにrosbag取得時の時刻情報なども載せたいですね。
https://chayarokurokuro.hatenablog.com/entry/2020/09/02/212350
zoom_startで地図の倍率を変えられるみたいですね。
ピンはデフォルトのものがシンプルで見やすい気がするのでデフォルトのピンを使用しようと思います。
実際の地図でもう少し具体的な検討をしてみる
日本縦断みたいなことをしない限り広域の地図はいらないので、zoom_startの倍率は15~20くらいに設定していきます。
とりあえず地図の中心はplotしたい緯度経度付近であってほしいので最初の緯度経度の値を中心に地図を描画することにしました。描画の中心をx,yの平均値にするなど工夫するのもありだと思います。
検証
とりあえずplotしてみる
お台場で走行したときのrosbagの位置情報がきれいにplotされました。
ちょっとアイコンが密なので、アイコンの間隔を50m間隔くらいに間引いてようと思います。
ちょっと過疎になりすぎたので、アイコンを間引く間隔は20m間隔くらいにしてみようと思います。
google mapでの測量だと360mなのでだいたいマーカー19~20個分くらい。plot上だと19個なのでだいたい距離はあってそうですね。
完成形
時刻情報をpopupとして追加し、選択したときに表示するような仕組みにしてみようと思います。
folium.Marker(location=[lat, lon],popup=date_time).add_to(map)
のような形でかんたんに追加できました。
補足
実際はbagfileから情報を取得し、座標変換し描画していますが、今回は簡単のために地図に描画の部分だけ書いてみました。