Photo by Brett Zeck on Unsplash
このたび、弊社 Geolonia から、2名のエンジニアが The United Nations Vector Tile Toolkit (国連ベクトルタイルツールキット - UNVT)プロジェクトをお手伝いさせていただくことになりましたので、このプロジェクトについてのご紹介をさせていただきます。
現在このプロジェクトには海外の方も含む16名の人たちが参加しており、私たちのようなエンジニアだけでなく研究者の方や政府機関の方も参加しています。
Google マップ や Yahoo!地図 などによって代表されるウェブ地図は、大きく分けて2つの方式で分類することができます。
1つ目は、PNG や GIF などのラスター画像を配信する「ラスタータイル」という方式で、サーバーサイドで 256x256px のタイル画像と呼ばれる正方形の地図画像を生成し、それをクライアントサイドの JavaScript で複数枚ダウンロードして並べることで地図を表示しています。
もう一つの方法は、弊社も採用している「ベクトルタイル」と呼ばれる方式で、JSON をバイナリ化したフォーマット(PBF - Protocol Buffers)をサーバーから配信し、クライアントサイドで地図をレンダリングする方式で、現在の Google Map や Mapbox などで利用されています。
ベクトルタイル方式は、画像としてデータを転送するラスタータイル方式よりもデータの転送コストを低く抑えることができ、レンダリングに WebGL を使うことによりスタイルの自由度が高く回転などのダイナミックな演出ができるなどのメリットがあります。
See the Pen 近畿地方の人口グラフ by Geolonia (@geolonia) on CodePen.
上の地図は、近畿地方の人口を地図を使って可視化した例です。デザインの自由度が高いベクトルタイルなら、データビジュアライゼーションにも活用できます。
公的機関が提供するウェブ地図は技術的に古い方式で提供されることが多い一方で、そのユーザーは手続き上の問題等によりその地図の利用を強制されることが多く、結果的に古い技術の利用も強制されるという現実があります。
また、世界規模で見ると、その国民一人ひとりにとっての地図の必要性は私たち日本人とまったく同じであるにも関わらず、様々な要因によって実用性がある地図が提供されていない国や地域もあります。
そんな背景の中、日本の国土地理院は、2014年という世界的にも早い段階からベクトルタイル方式による地図配信の提供実験を行っており、その技術を提供するために国土地理院の藤村英範さんが国連事務局に約2年間派遣されました。
そして、その結果生まれたのが「The United Nations Vector Tile Toolkit」プロジェクトです。
オープンソースプロジェクトを組み合わせて地図を開発する技術が確立されていれば、持続性が高い地図基盤を提供することが可能になります。仮になんらかの事情によりその国家が完全になくなったとしてもその地図が生き続けることも期待できます。
また、地図の多様性もとても重要です。もし特定の企業の地図が寡占状態であれば、緯度経度をプロットすることさえも自由に行うことができなくなる可能性があります。
Geolonia の地図は、Mapbox GL JS というオープンソースプロジェクトに依存しており、データの多くも OpenStreetMap や Natural Earth 、などのプロジェクト、世界中の政府機関によるオープンデータを利用しています。
このような大きなエコシステムの住人として活動していく中で、私たち自身もほぼすべてのソースコードをオープンソースで公開してきました。
今回の UNVT プロジェクトへの参加にあたって、弊社ができることはささやかなことかもしれませんが、世界中の国や地域で使われるようになるよう積極的に協力させていただきたいと思っています。