GPSの記録をGeoHexで表現 2

実際にGPSの記録をGeoHex上で表現する場合、まず、GPSロガーでログを記録する必要があります。今回、自分は、GPSロガーAndroidを使って取得して移動したデータを使ってみます。

ここで取得した値をgoogleドライブ経由でダウンロードして、加工します。

加工には、pythonのscriptを作ってみました。pythonのgeohexのライブラリをpipを使ってインストールします。


# pip install py-geohex3


これで、javascriptと同等の座標からgeohexのゾーン情報を得ることが可能なライブラリがインストールされますが、ただ、これでは、2点間の座標が隣接したHexにならない場合に飛び地になってしまいます。それをフォローするために、2点間の隙間のHexを得るライブラリを作成しました。といっても、geohex Ver2の関数の移植ですが...

これを使って地図にプロットすると、次のようになります。

2点間の飛び地をフォローする仕組みにより、トンネルも「真っ直ぐであれば」結構、しっかりフォローできます。

ただ、カーブしているトンネルは、最短距離で入り口、出口をつないでしまうので微妙になってしまいます。この例は上越新幹線の水上-越後湯沢間のトンネル区間。

さらに都内の地下区間の場合、スマートフォンでは、Wifi APなどから場所判定を行う場合があるため、強烈な位置飛びをしてしまう場合があります。上野-田畑間の地下区間ですっ飛ばされた場合、

こんな感じになってしまいます。とはいえ、形は整った感じです。今は、座標情報をコンテンツに埋め込んでいるので、Node.jsを使ってサーバから取得する形にできれば、スマートにできるかな、と思ってます。

適当に過ごす日常blog

50まじかになってフリーになったSEです。今までなんとか生きてこれたので、これからもなんとかなるかなーという適当な日々をつづります。

0コメント

  • 1000 / 1000