smellman's Broken Diary

クソみたいなもんです

2023/12/07の日記 - JICAの講義でベクトルタイルを紹介してきた件について

本エントリーは MapLibre Advent Calendar 2023 の7日目のエントリーでもあります。

生活と仕事

昨日は早く寝たので3時ぐらいには起きてテレビの録画をチェックしてから風呂入って、荷物をまとめてからまずは腹ごしらえということで近所のそば屋で軽く朝ご飯食べてから国土地理院へ向かいました。

今日は年に一度のJICAの講義です。

8:30には現地入り。講義の準備をして、hfuさんと軽く打ち合わせをして、9:30から講義スタート。

いやー、大変でした。

まず、失敗したのは画面を分割してしまってメインのモニタが離れてる位置にあるので喋る内容がこんがらがってしまった。来年はミラーリングで行いたい。

あとは英語の能力ですね。練習はしていたのだけど、その半分ぐらいしか語彙力が出てこなくて焦りました。

今は帰宅中というか、秋葉に向かっています。秋葉で買い物してから飲む予定です。

明日は佐賀に向かうので飲み過ぎないようにしないと...

というわけで、以下アドベンドカレンダーの内容です。

JICAの講義でベクトルタイルを紹介してきた件について

講義資料はすでに日記にアップ済みなのですが、再掲します。

JICAでは毎年、海外のいろんな地理院みたいな所から研修員を募って、通年?半年?ぐらい講義とかをしていたりします。

この講義のうち、「地理空間情報のWeb提供技術」という項目を毎年僕が担当をしています。

最初の数年はラスタタイルが中心だったのですが、だんだんとこれがベクトルタイルにフォーカスをするようになりました。

やったこととしては以下になります。

  • Raspberry Pi 4 に各自ログインして必要なコマンドなどを一式インストール(Makefileを提供してmakeでやるという暴挙)
  • Tileという仕組みについての講義
  • Mapbox GL JSは良いソフトだけどプロプライエタリなのでMapLibre GL JSをお勧めするという一連の儀式(何
  • gdal2tiles.pyを使ったラスタタイルの変換
  • tippecanoeを使ったベクトルタイルの変換
  • Charitesを使ったベクトルタイルのスタイリング
  • Webホスティングについての注意点などの紹介、IPFSの紹介と実践

このうち、gdal2tiles.pyを使った例がRaspberry PiのOSが古いため失敗するというオチがありましたが、それ以外は概ねなんとかなりました。

ただ、Charitesを使ったリアルタイム編集が上手く見せられなかったので来年あれば表現を考える必要があります(例えばエディタとブラウザを横に並べるとか)。

あと、Ctrl+Cでプロセスを止めるとか基本的な事をほぼ全員知らないので、そこも講義で取り入れる必要があります。

ここらへんを乗り越えればなんとか説明しきれる範囲にはなってきます。まぁ、年ごとにスキルが違うので一概には言えない所はありますが。

なお、今回ベクトルタイルの講義に事例に使っているというか、長年講義で使っているのがGlobal Mapというプロジェクトです。

github.com

最大でも9個ぐらいのsource-layerしかないので説明するのには使いやすいフォーマットです。いきなりOpenStreetMapを使うのは正直説明が厳しいのでこのぐらいの分量のベクトルデータから初めてみるのはよいと思います。

というわけでベクトルタイルを紹介した事例紹介でした。