2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【備忘録】国勢調査小地域の境界データからPMTilesを生成する方法

Last updated at Posted at 2023-04-29

はじめに

本記事では、政府統計の総合窓口(e-Stat)にて公開されている、2020年国勢調査小地域(町丁・字等及び基本単位区)の境界データから、PMTiles形式のデータを生成する方法について説明します。

PMTilesの特徴

  • 単一ファイル形式のタイルデータ
  • 地球規模のタイルマップの保存
  • S3 のようなストレージとHTTP Range Requestsのみを使用

PC環境

OS:Windows 10 Pro
CPU:Intel(R) Core(TM) i7-9700
メモリ:32GB

前提条件

  • 以下のPythonのツールより2020年国勢調査小地域(町丁・字等及び基本単位区)の境界データ(JGD2011、シェープファイル(以下、SHP))をダウンロードし、解凍済みであること。
  • SHPを一括ダウンロードするツール

  • 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です。

SHPからGeoJSONを生成

  • SHPからGeoJSONの生成にはQGISを使用します。
  • 町丁・字等は都道府県単位、基本単位区は市区町村単位のSHPです。
  • 上部のメニューよりベクタ>データ管理ツール>ベクタレイヤのマージで、町丁・字等及び基本単位区の境界データ(JGD2011、SHP)をマージします。
  • なお、マージ後にベクタ>ジオメトリツール>重心で境界データの重心データも作成します。

GeoJSONからPMTilesを生成

  • GeoJSONからPMTilesの生成にはfeltのtippecanoeを使用します。
  • WSLを起動して、以下のコマンドを実行します。
  • GeoJSONは以下のとおりです。
    r2ka01-47_JGD2011.geojson:町丁・字等・境界データ(ポリゴン)
    r2ka01-47_point_JGD2011.geojson:町丁・字等・重心データ(ポイント)
    r2kb01-47_JGD2011.geojson:基本単位区・境界データ(ポリゴン)
    r2kb01-47_point_JGD2011.geojson:基本単位区・重心データ(ポイント)
tippecanoe -o r2ka01-47_JGD2011.pmtiles r2ka01-47_JGD2011.geojson -Z10 -pf -pk -P
tippecanoe -o r2ka01-47_point_JGD2011.pmtiles r2ka01-47_point_JGD2011.geojson -Z10 -pf -pk -P
tippecanoe -o r2kb01-47_JGD2011.pmtiles r2kb01-47_JGD2011.geojson -Z12 -pf -pk -P
tippecanoe -o r2kb01-47_point_JGD2011.pmtiles r2kb01-47_point_JGD2011.geojson -Z12 -pf -pk -P
  • tippecanoeのオプション
    -Z10:ズームレベル10以上のみを生成
    -Z12:ズームレベル12以上のみを生成
    -pf:地物数制限を無視する(1タイルあたり200,000フィーチャに制限しない)
    -pk:ファイルサイズ制限を無視する(1タイルあたり500Kバイトに制限しない)
    -P:並列読み込み
    ただし、下記の記事によると、-Pオプションが有効なのは、GeoJSONSeqのみのようです。

生成したPMTilesの確認

  • 生成したPMTilesの確認には、PMTiles Viewerが便利です。
  • PMTilesをドラッグ&ドロップすると、フィーチャが地図上に表示されます。
    image.png

PMTilesの配布

  • 上記の方法で作成した、PMTiles形式の境界データ(町丁・字等及び基本単位区)は、以下のGitHubにて配布しています。

2020Kokusei-PMTiles

デモサイト

  • また、PMTiles形式の境界データ(町丁・字等及び基本単位区)は、MapLibre GL JSで作成した、デモサイトにて閲覧ができます。

image.png

参考情報

2
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?