Geolonia宮内氏が語るベクトルタイルの可能性
地図位置情報関連の企業やサービスが一堂に会する展示会「ジオ展2022」から、株式会社Geolonia 代表取締役CEOの宮内隆行氏による基調講演「ベクトルタイルで見えてきたデジタル地図の未来」についてレポートします。
ベクトルタイル形式で地図サービスを開発するスタートアップ
Geoloniaは2019年設立のスタートアップ企業です。ベクトルタイルを採用する地図サービス「Geolonia Maps」を提供するほか、2022年3月には国土地理院との契約で開発したベクトルタイル形式の地図開発を支援する2つのNPMパッケージ「itoma(イトマ)」と「kata(カタ)」をオープンソースとして公開しています。
ベクトルタイルについては、「ジオ展2021年」の基調講演でも藤村氏が触れていますが、地図データを画像で持つのではなく、JSONをバイナリ化したテキストデータとして持つことで、ソフトウェアなど機械判読が可能な地図のデータ形式を指します。
本講演ではベクトルタイルのユースケースについて、サンプルを使った実演とともに紹介しています。
映像メディア向けGISシステムや逆ジオコーダーにも活用できるベクトルタイル
宮内氏はまず、ある映像メディアから受注を受けて開発したというGIS(地理情報)システムの事例を紹介しました。映像メディアにおける地図システムの課題は「リアルタイム性の高い報道」、すなわちスムーズに地図が表示されることであり、そのためにテーマが分かりやすい形で表示される地図の提供が求められます。
また、最近では4K/8K放送に載せるために高解像度の地図データも必要となっていますが、宮内氏によれば「現在公開されているようなウェブGISでは“ズーム”する事は可能だが、高解像度に“拡大”する表示は困難」とのことで、宮内氏も地図データを扱うようになってからズームと拡大の違いについて考えるようになったそうです。
宮内氏は、ベクトルタイルを使えばこうした課題も容易に解決できると言います。具体的にはクライアント側に高解像度の地図データを持たせ、実際の地図情報はベクトルタイルを使うことで、高解像度の地図生成をスムーズに行うことができます。。なお、この高解像度地図については同社Webサイトからダウンロードする事ができます。
続いて、経度と緯度の情報から住所を引き当てる「逆ジオコーダー」を紹介しました。従来の仕組みで逆ジオコーダーを構築しようとすると、緯度経度に対する住所情報のデータベースを予め構築しておき、そこに緯度経度情報をポストすることで、住所を引き出す仕組みが一般的ですが、この場合データベース構築などのサーバーサイドの仕組みが必要になります。
ベクトルタイルは、クライアントサイドで緯度経度情報をタイル番号に変換してからサーバーに送信し、タイルをダウンロードしていますが、「ダウンロードしたベクトルタイルから住所の変換を行えば、データベースは不要なのでは」と考えた宮内氏は、実際にこの仕組みで動作する逆ジオコーダーを作成して公開しました。
さらに宮内氏は、この逆ジオコーダーを教育プログラミング言語の「Scratch」に組み込んだデモを紹介。画面上に表示されるネコの立つ地図の地名が表示されており、これが逆ジオコーダーの仕組みで動作しています。
宮内氏はこの逆ジオコーダーについて、サーバー側にデータベースなどを必要としないためにコストパフォーマンスが高いと説明。また、従来の逆ジオコーダーの場合、座標情報をサーバーに送信する必要があるためにプライバシーの問題が発生する恐れがありますが、ベクトルタイルであればクライアント側で座標からタイル番号に変換してタイル番号のみを送信するため、プライバシーに対して非常にフレンドリーだと語りました。
ベクトルタイルは静的なファイルに変換して、GitHub Pagesにホストできます。そのため、インフラコストの軽減やサーバーサイドの諸々のテクノロジを極端に省略でき、これらが大きなメリットになるとのことです。
ベクトルタイルを応用して空間にメタデータをアサインする試み
続いて宮内氏が紹介したのが「zfxy」です。ここで言う“f”は高さを示しており、ベクトルタイルの応用として、空間その物にメタデータをアサインできるのではないかという、宮内氏の発想から生まれた試験段階の取り組みです。
例えばWebGLベースの地図ライブラリ「MapBox GL」のVer.2では3D表示に対応していますが、地図データその物は2Dでしか持っておらず、表示の仕組みで3Dにしています。「データその物の持ち方を3Dにできないか」との考えから生まれたのがこの「zfxy」で、現在は国土地理院の藤村氏と共にドラフトの仕様を策定し、プロトタイプを作って試しているとのことです。
「zfxy」のサンプルとして宮内氏が紹介したのが、飛行機に3Dタイル番号を割り当てることで、現在空を飛んでいる飛行機に空間情報を割り当てて表示するというもの。現在飛行中の航空機の位置情報サービスを使って作成しています。
また、地形を3Dタイルにすることで、断面図データが比較的簡単に表示できるようになるデモも紹介。通常なら数時間の計算を要するような断面図データをサクサクと作成できるため、、自動運行中のドローンの現在地の座標や標高データなども取得しながら運行する、という技術的な可能性も示されました。
リアルタイムの位置情報共有の機能も紹介しました。ベクトルタイルの仕組みにより、タイルのサイズを任意に調整することで、位置を特定されることなく、大まかな位置情報を利用者全員で共有できる仕組みです。講演では実際にその地図を見ている人が大きなタイルで表示されるデモを紹介し、宮内氏以外にも関東で地図を見ている人がタイルで表示されました。
ユーザー自身が開発者として新たな仕組みを開発
基調講演で紹介したデモについて宮内氏は、「ベクトルタイルのデータを人間が目で見ることではなく、機械に読み込ませて別の処理をするという共通コンセプトがある」と指摘。さらに「従来の地図は現実社会をビジュアルに落とし込んでいるが、ベクトルタイルのようなオブジェクトをやり取りすることで、もっと現実社会と地図との間の世界を曖昧にできるのではないか」との見通しを語りました。
今後はこのベクトルタイルの考え方を応用することで、従来よりも小さなファイルサイズで、これまで大変だった作業をすごく簡単にできるようにすることを目指すとしています。
同社の地図サービスは、CodePen上とGitHub上では無料で無制限で使えるように公開されています。宮内氏が大事にしたかったのは、開発者がGitHubのForkボタンを押すと動作し、それを見て「お、動いた、ぷぷっ!」とちょっと笑ってもらえるような、そんな状態を作りたかったとしており、宮内氏の遊び心が感じられました。
宮内氏はCodePenで公開しているデモの中から、都道府県ごとに人口に合わせて、地図がせり上がるデモを披露。「大阪は赤で人口は何人、というのをどうやってコード上で再現できるかな」と、地図開発を「遊び」という表現で楽しみながら試行錯誤を続けている姿が印象的です。
現在は非常勤含めて13名程度の会社規模ですが、オープンソースコミュニティの活用により、開発のできるユーザーからユニークなリクエストを貰うと、それがきっかけで仕事に繋げていったりというケースも多いとのこと。ユーザー自身が開発者として、新たな仕組みを開発していく形が非常に重要であり、今後もそのような形で会社を拡大していきたいと宮内氏は講演を締めくくりました。
URL
株式会社Geolonia
https://geolonia.com
GeoloniaのGitHub
https://github.com/geolonia
GeoloniaのCodePen
https://codepen.io/geolonia
【ジオ用語解説】ベクトルタイル | Graphia
https://graphia.jp/2021/09/21/geoterm-vector-tile
【ジオ展2021】国土地理院藤村氏が基調講演で語る「国連ベクトルタイルツールキット」の現状 | Graphia
https://graphia.jp/2021/05/07/geo-ten-keynote