LoginSignup
6
7

More than 1 year has passed since last update.

【備忘録】警察庁の交通事故オープンデータからPMTilesを生成する方法

Last updated at Posted at 2023-04-29

はじめに

本記事では、警察庁がオープンデータとして公開している、交通事故統計情報のオープンデータ(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をドラッグ&ドロップすると、フィーチャが地図上に表示されます。
    image.png

PMTilesの配布

  • 上記の方法で作成した、PMTiles形式の交通事故データは、以下のGitHubにて配布しています。

traffic-accident-pmtiles

デモサイト

  • また、PMTiles形式の交通事故データは、MapLibre GL JSで作成した、デモサイトにて閲覧ができます。

image.png

参考情報

6
7
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
6
7