LoginSignup
7
3

MartinでPostGISからベクトルタイルを配信しよう

Posted at

image.png

MapLibre User Group Japan@Kanahiroです。今回はベクトルタイルサーバーMartinを紹介します。

TL;DR

  • MartinでPostGISのテーブルをベクトルタイルとして高速に配信
  • glyph/sprteも動的に配信出来るぞ

Martin

MapLibre傘下の、PostGISバックエンドなタイルサーバーです。特徴は、ベクトルタイルをPostGISのテーブルから動的に作成して配信出来ることです。世はまさにdynamic tiling時代。

今をときめくPMTilesをはじめとして、あらかじめ全てのタイルを作り切っておくアプローチは、配信パフォーマンスの観点では最善です。しかしたとえば頑張って大きなタイルデータを作成したとして、その原典データが更新されてしまったらどうすればよいでしょうか?PMTilesなどのアプローチでは、再度タイルを作り直す必要があります。タイル生成は、そのタイル数が多い場合、コストは小さくありません。なので、動的配信が魅力的になるわけです。

上記の議論は以下の私の発表スライドが詳しいです。

Martinの使い方は難しくはないのですが、さらにその敷居を下げるべく、以下のようなリポジトリを用意しています。

docker compose up

でサーバーが立つので、起動が完了したっぽいタイミングで(PostGISの初期化などが走ります)http://localhost を開いてみましょう。なんだかすごい地図が表示されると思います。

Screenshot 2023-11-28 at 20.55.10.png

実はこの地図にはMartinのほぼ全ての機能が含まれています。

  • PostGISテーブルの配信
  • MBTiles/PMTilesの配信
  • glyph(フォント)の配信
  • spriteの配信

たとえばQGISなどでPostGISのテーブルの内容を変更したのちに、再度地図を表示してみると、内容が反映されているはずです。すなわち動的配信ということです。以下の登壇資料でも紹介しているので、ぜひチェックしてみてください。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3