PMTilesとMapLibre GL JSによる軽量WebGIS構築

カテゴリ: WebGIS / タイル配信 | 更新日: 2026-11-02

広域のベクタータイルを配信する際、以前はタイルサーバーや大量の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ヘッダーを適切に設定することで、別ドメインのフロントエンドからも参照できます。