2023年10月16日に「GO TechTalk #23 ジオスペシャル!位置情報活用の現場をお話します!」(connpass)を開催しました。
本記事では当日の内容を簡単に紹介します。
GO TechTalkは、GO株式会社のエンジニアたちが、タクシーアプリ『GO』をはじめとしたサービスやプロダクトを開発する中で得た技術的ナレッジを共有するイベントです。
GO株式会社ではモビリティに関連するさまざまなサービスを展開しています。モビリティを扱うサービス開発の現場では、車両の位置管理、お客さまがタクシーの配車を希望する場所の特定、車が通るべきルートの検索、一時停止すべき交差点の特定、経路検索や住所検索で必要な地図など、必ずと言っていいほど位置に関する情報とそれを扱う技術が必要になります。
23回目となる今回は、位置情報を扱うシステムの紹介に加え、位置情報特有の苦労や課題、そしてそれを解決するための工夫について紹介しました。
イベント当日には多くの方から感想や質問を受け取りました。当日にお答えすることができなかった質問についても、本記事にて回答しております。参加できなかった方はもちろん、参加された方もぜひご一読ください。
こちらのポストのスレッドで当日の様子や雰囲気を感じていただけると思います。
GO TechTalk #23 「ジオスペシャル!位置情報活用の現場をお話します!」
— GO Inc. dev | タクシーアプリ『GO』 (@goinc_techtalk) October 16, 2023
19:00からはじまります!
Live配信: https://t.co/RtgLHUKYl3
イベントページ: https://t.co/gP1BxFypnJ#goinc_tech_talk
今回はこちらのメンバーが登壇しました。
スマートフォンの普及により、一人一台がGPSを持つようになり、モビリティ業界だけでなくさまざまな業界でエンジニアが位置情報を取り扱う機会が増えています。しかし、位置情報を扱う際には基礎知識が不可欠であり、それがないとさまざまな問題にぶつかることがあります。
このパートでは、位置情報を取り扱う際の基本知識、位置情報のデータフォーマット、位置情報を検索する際のよくある問題とその解決方法などについて紹介しました。
はい、さまざまな測地系が存在します。用途や地域条件に応じて、適切な測地系を選択する必要があります。
他社から提供されるデータや購入したデータは、シェープファイル形式であることがあります。しかし、システムに組み込む際には、PostGISなどのデータベース用フォーマットに変換・格納して利用しています。
タクシーアプリ『GO』のサービスを提供するにあたり、さまざまな地理空間データを管理・加工・利用しています。このような地理空間データはそのデータ量の大きさや、高速にアクセスする必要性から、分割管理したり、使いやすいように加工したり、地理空間インデックスを用いてアドレッシングするなど、シーンに応じて多種多様な工夫が必要になります。
このパートでは、タクシーアプリ『GO』で利用している3つの地理空間インデックス(地域メッシュ、Morton Keys、H3)についてそれぞれの特徴や採用理由、扱う際のポイントを紹介しました。
はい、必要なタイミングで新たに付与することになります。
ケースバイケースですが、ご指摘の通り、少しだけ隣接する空間のデータを参照することもあります。
道路の場合は、道路の繋がりをグラフ構造で管理することが多いです。ただたしかに上下に道路がある場所で、どちらの道路かを特定したい場合には、それまでの経路を考慮するなどの工夫が必要です。
はい。独自のバイナリフォーマットで管理しています。
Geoハッシュはかなり Morton Keys に近いですが、文字列変換の際に Base32 処理が入るのでその分低速になると思います。今回の用途では、文字列を介する必要性が無かったため Morton Keys を採用しています。
タクシーアプリ『GO』で呼び出されるタクシー車両に設置されている乗務員用端末には、『GO』独自の目的地検索機能が搭載されています。この検索機能は、検索対象となるランドマークの位置情報とタクシー車両の現在地の関係も加味して、高速に検索する必要があります。
このパートでは、本機能の概要や、検索対象データを作成する際のジオコーディングの課題、そしてそれを解決するための工夫について紹介しました。
現時点は行っておらず、座標とタクシー車両の位置との直線距離で減衰をかけています。
今回紹介した機能の中では使っておりません。
アルゴリズムではないかもしれないのですが、検索対象文字列をを正式名称の他に別称文字列まで広げるときれいに当てることができます。ただ別称などはどこから持ってくるなり名称から拡張する必要はあります。
GO TechTalk は不定期開催しています。過去の開催レポートは こちら にもありますので、ぜひご覧ください!
GO株式会社の最新技術情報は公式アカウント @goinc_techtalkで随時発信していきますので、ぜひフォローして続報をお待ちください!
興味のある方は 採用ページ も見ていただけると嬉しいです。