PMTilesとMapLibre GL JSによる軽量WebGIS構築
広域のベクタータイルを配信する際、以前はタイルサーバーや大量のPBFファイルの管理が必要でした。PMTiles形式を使うと、単一ファイルのままHTTP Rangeリクエストで必要な領域だけを取得できます。
1. Tippecanoeによるベクタータイル生成
tippecanoe -o japan_roads.pmtiles -Z4 -z14 --drop-densest-as-needed roads.geojson
2. NginxでのRangeリクエスト対応
Nginxは標準でHTTP Rangeリクエスト(Accept-Ranges: bytes)に対応しているため、静的ファイルとして配置するだけでMapLibre GL JSから直接読み込むことが可能です。CORSヘッダーを適切に設定することで、別ドメインのフロントエンドからも参照できます。