私の関わっている国連ベクトルタイル関連活動の現在時点の全体像は、次の通りだと思っています。
- 国連ベクトルタイルツールキット本体
- 国連事務局への個別支援
- Docker 実装(RPi 上の実装を含む)
- Adopt Geodata
- 新ハンズオン資料 ango
- その他の新展開
- HOCON で Mapbox Style を合理的に記述する
- 屋内地図への展開
- 生産フェーズでの mokuroku との接続
- OSGeo incubation process への登録の検討
- FOSS4G 2019 Bucharest でのプレゼンテーション準備
詳細は、次の通りです。
1. 国連ベクトルタイルツールキット本体
国連ベクトルタイルツールキットとは、ベクトルタイルの生産・ホスト・スタイル・最適化に必要な既存のオープンソースソフトウェアを最大限に活用するためのコードとドキュメントの集まりです。https://github.com/un-vector-tile-toolkit にホストされています。
1.1 国連ベクトルタイルツールキットのコアコンセプト
国連ベクトルタイルツールキットのコアコンセプトは次の通りです。
- 【生産】ソースデータを .geojsons 形式に変換しながら Tippecanoe にフィードして .mbtiles ファイルを得る。
- 【ホスト】カスタム Express サーバを使ってベクトルタイルを提供する。
- 【スタイル】style.json ファイルは手で書く。時々 Maputnik の支援も受ける。
- 【最適化】Vector Tile optimizer の支援を受けながらベクトルタイルのサイズを小さくする。
ソースデータの規模が大きくなったときには、問題を計算機が扱いやすい単位に分割する目的で、もう少し工夫を重ねることになります。
1.2 国連ベクトルタイルツールキットの履歴
2018年12月3日のFOSS4G Asia 2018 の基調講演で、国連ベクトルタイルツールキットのバージョン1のリリースを宣言しました。
また、2019年6月25日に実施された国際連合日本政府代表部と国際連合事務局情報通信技術局との共催イベントで、国際連合事務局最高情報通信技術責任者と国際連合日本政府次席代表をはじめとする約35名の参加者に対して国連ベクトルタイルツールキットのデモをしました。
1.3 国連ベクトルタイルツールキットの技術的な状況
国連ベクトルタイルツールキットは MacBook Pro 一台があれば planet.osm.pbf を80時間でベクトルタイルに変換できる性能を持っています。
この性能は osmium と Tippecanoe のおかげではあるのですが、これらの最高のツールに、適切に切り分けたデータを上手に流し込むところに、国連ベクトルタイルツールキットのオリジナリティがあります。詳しくは、FOSS4G 2019 Bucharest に投稿した論文を参照してください。
国連ベクトルタイルツールキット本体については、当面大きな開発の予定はありません。ドキュメントの整備を進める中で洗練をしていく予定です。
2. 国連事務局への個別支援
国連ベクトルタイルツールキットの主目的は、国連のオペレーションに鮮度・性能が高い基本図を提供することです。よって、引き続き国連事務局への個別支援を行なっていきます。
個別支援を行う中で、特別に情報管理する必要がない成果はすべて初めからオープンソースで作業を進めます。成果は https://github.com/un-vector-tile-toolkit に置かれることが多いですが、 https://github.com/hfu に置かれることもあります。
3. Dockerfile 実装 (RPi 上の実装を含む)
国連ベクトルタイルツールキットを Docker 上で動かせるように調整しており、そのための Dockerfile は https://github.com/un-vector-tile-toolkit/rasv に置いています。
Dockerfile 実装を行う目的は次の通りと整理しています。
- 国連ベクトルタイルツールキットを使ったデモを容易に行えるようにする。
- 国連ベクトルタイルツールキットの技術移転を容易に行えるようにする。
- 全般に、国連ベクトルタイルツールキットをよりポータブルな実装にする。
4. アダプト・ジオデータ (Adopt Geodata)
インターネット上のいまだベクトルタイルになっていないオープンな地理空間情報を、ベクトルタイルに変換してホストしてみるということは、技術の実験にもなりますし、研修の教材にもなります。
そういった取り組みに Adopt Geodata (アダプト・ジオデータ) という名前をつけてゆるく束ねることで、集まりとして少し存在感が出て、また、データ間の連携についても検討しやすくなるのかなと思っています。
取り組みをゆるく束ねる GitHub organization として、optgeo を作っています。adOPT GEOdata と、中央の6文字を取った名前にしています。
これからアダプトしてみたいオープンな地理空間情報を optgeo/ideas/issues に集積しています。ご興味をお持ちいただけた場合はご覧ください。もしよろしければ、作業もしてみていただければ嬉しいです。
5. 新ハンズオン資料 ango
国連ベクトルタイルツールキットのハンズオンは、これまで2回実施しています。
- 国連グローバルサービスセンターで関係者向けハンズオン (イタリア・ブリンディジ, 2018)
- OSGeo.JP Workshop for UN Vector Tile Toolkit (スリランカ・モラトゥワ, 2018-12)
これに引き続いて、2019年の秋以降に、日本でのハンズオンを実施したいと考えています。これに向けて、より整理されたハンズオンマテリアルを作成しようと思っており、新たなハンズオン資料として ango の作成を進めています。
また、ango の作成にあたってのメモも合わせて作成しています。
6. その他の新展開
6.1 HOCON で Mapbox Style を合理的に記述する
ベクトルタイルの描画構成は style.json で記述されます。従来の画像タイルでいうレイヤに該当する source-layer の他に、1種類のタイルの中に含まれる、従来の GIS に言うようなレイヤに該当する layer の概念があります。
この構造をなるべく生かしながら、柔軟かつユーザのニーズに合致した情報提示を行うためには、Leaflet ベースで設計されたgsimapsからアーキテクチャを変更しなければならないように思っています。
新たなアーキテクチャは私にもよく見えてきていませんが、鍵となるのは、style.json をこれまでの10倍ほど簡単に操れる技術なのではないかと思っています。Maputnik のバージョンアップどころかメインテナンスも難しくなってきているように見受けられる状況において、ああいった WYSWIG なアプローチではなくて、ドメイン特化言語のようなアプローチが必要のような気がしています。
そこで、JSON のデータモデルに include/import の概念を導入してくれる HOCON の上に、効率的にスタイルを定義できるのではないかと考えており、筆ポリゴンの style.json を再現することを当面の目的として、balzac-hocon というプロジェクトを開始しましたが、実装は後回しにしていて、これからです。
6.2 屋内地図への展開
ベクトルタイルは屋内地図で役に立てる可能性がありますが、その可能性を試した結果はあまり共有されていません。そこで、オープンな屋内地図データを利用して、可能性を試してみたいと思っています。
6.3 生産フェーズでの mokuroku との接続
mokuroku は、タイルデータセットのメタデータの仕様です。このファイルを起点として、タイルデータの全数に無駄撃ちなくアクセスすることができますし、また、タイムスタンプと md5sum を備えているので、差分更新も可能になります。
そこで、mokuroku をとって geojsons を返すスクリプトを作るなどして、mokuroku からベクトルタイル生産に結びつけることができないかと考えています。
作業場所は hfu/mokuroku2geojson に作っています。
6.4 OSGeo incubation process への登録の検討
UN Open GIS Initiative では、OSGeo incubation process への参加を推奨しており、プロセスに乗るために必要な条件を整理して、だんだんと満たしていきたいと考えています。
7. FOSS4G 2019 Bucharest の準備
FOSS4G 2019 Bucharest で発表の機会があるので、20分のプレゼンテーションの準備をしています。