geo
docker
OpenMapTiles

openmaptiles のデータ規模と処理時間の関係

国レベルのベクトルタイル作成の所要時間

gh:openmaptiles/openmaptiles を使って、実際に Geofabrik の OSM extract データを変換した時の処理時間を共有します。もちろん、計算機の設定によって速度は10倍程度くらいは変わるでしょうが、100倍ほど変わるということはそうそうないと思います。その程度の参考にされてください。

データセット pbfサイズ imposm3 mapnik タイル数 最高速
australia 318MB 11m50s 15h23m 586万 117tiles/s
congo-democratic-republic 95MB 4m34s 1h56m 35万 53tiles/s
egypt 34MB 1m43s 14h4m 338万 76tiles/s
estonia 65MB 3m21s 1h42m 53万 94tiles/s
ethiopia 34MB 1m35s 1h10m 24万 71tiles/s
europe 19GB 72h58m 終了させず 終了させず (18tiles/s)
fiji 6MB 16s 6m23s 4万 108tiles/s
germany 3GB 6h8m 1d0h18m 281万 108tiles/s
guinea 48MB 2m6s 47m3s 18万 65tiles/s
hungary 141MB 6m19s 1h18m 29万 62tiles/s
japan 1.2GB 57m4s 12h10m 311万 79tiles/s
latvia 56MB 2m16s 1h40s 49万 97tiles/s
madagascar 44MB 1m47s 1h7m 27万 72tiles/s
north-americas 7GB 7h8m 終了させず 終了させず (37tiles/s)
philippines 221MB 11m32s 6h50m 183万 81tiles/s
somalia 14MB 35s 3h6m 76万 74tiles/s
south-america 1GB 47m 7d14h34m 6328万 116tiles/s

なお、上記のデータを採取した時点の gh:openmaptiles/openmaptiles には、wikidata の対応づけは統合されていませんでした。

所見

データとの関係について

  • 日本やイタリアなど、pbf 1GB 級のデータは本当に気軽にベクトルタイル化できる。
  • フランスやドイツなど、pbf 3GB 級のデータのベクトルタイル化には多少気合いが必要。
  • 欧州や北米など、10GB 級のデータのベクトルタイル化は、私が試したPC一台の環境で実施することは未だ現実的ではない。タイル出力速度が顕著に下がるからである。
  • 南アメリカのように、疎であるが面積が広い領域については、100tiles/s 前後の速度で安定して変換できるので、時間を待ちさえすれば良い。
  • PostGIS データベースのなかのデータベースが大きくなった場合に、パフォーマンスが落ちる傾向がある。タイルに出す時に空間検索をしているようなので自然だし、パフォーマンスをあげるのであれば、(ある意味での)レンジパーティショニングを含めた空間分割が有効であろう。

ソフトウェアの性能について

  • osm.pbf 形式は本当に優秀。これが小さいおかげで現実的な速度でダウンロードできる。
  • imposm3 は本当に優秀。これらが恐ろしく高速なおかげで現実的な速度で変換できる。
  • (wikidata データを統合するパーツは、かなりやっつけ仕事で作っているように見える。)
  • mapnik-tile-copy の働きはそこそこ。
  • (mbtiles 形式はかなり圧縮してくれている。同内容のタイルの参照を束ねる等しているからか。)