はじめに
本記事では、警察庁がオープンデータとして公開している、交通事故統計情報のオープンデータ(2019年、2020年、2021年)の本票から、PMTiles形式のデータを生成する方法について説明します。
PMTilesの特徴
- 単一ファイル形式のタイルデータ
- 地球規模のタイルマップの保存
- S3 のようなストレージとHTTP Range Requestsのみを使用
PC環境
OS:Windows 10 Pro
CPU:Intel(R) Core(TM) i7-9700
メモリ:32GB
前提条件
- 以下のPythonのツールより交通事故統計情報のオープンデータ(2019年、2020年、2021年)の本票(以下、交通事故データ)を読みやすい形式に変換済みであること。
- 読みやすい形式に変換するツール
- WSL(Ubuntu-20.04)がインストール済みであること。
- tippecanoeがインストール済みであること。
- Windows 10へのtippecanoeのインストール方法は以下のとおりです。
※ただし、git clone https://github.com/mapbox/tippecanoe.git
の箇所をgit clone https://github.com/felt/tippecanoe.git
への変更が必要です。
- tippecanoeのバージョンはv2.23.0です。
CSVからFlatGeobufを生成
- CSVからFlatGeobufの生成にはQGISを使用します。
- 読みやすい形式に変換済みのCSVは以下に格納されています。
https://pmtiles-data.s3.ap-northeast-1.amazonaws.com/traffic-accident/honhyo_2019-2021_convert_v2.csv,722.4MB
- 生成したFlatGeobufは以下に格納されています。
https://pmtiles-data.s3.ap-northeast-1.amazonaws.com/traffic-accident/honhyo_2019-2021_convert_v2.fgb,1.1GB
FlatGeobufからPMTilesを生成
- FlatGeobufからPMTilesの生成にはfeltのtippecanoeを使用します。
- WSLを起動して、以下のコマンドを実行します。
tippecanoe -o honhyo_2019-2021_convert_v2.pmtiles honhyo_2019-2021_convert_v2.fgb -pf -pk -P
- tippecanoeのオプション
-pf:地物数制限を無視する(1タイルあたり200,000フィーチャに制限しない)
-pk:ファイルサイズ制限を無視する(1タイルあたり500Kバイトに制限しない)
-P:並列読み込み
ただし、下記の記事によると、-Pオプションが有効なのは、GeoJSONSeqのみのようです。
生成したPMTilesの確認
- 生成したPMTilesの確認には、PMTiles Viewerが便利です。
- PMTilesをドラッグ&ドロップすると、フィーチャが地図上に表示されます。
PMTilesの配布
- 上記の方法で作成した、PMTiles形式の交通事故データは、以下のGitHubにて配布しています。
traffic-accident-pmtiles
デモサイト
- また、PMTiles形式の交通事故データは、MapLibre GL JSで作成した、デモサイトにて閲覧ができます。
参考情報