国レベルのベクトルタイル作成の所要時間
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 形式はかなり圧縮してくれている。同内容のタイルの参照を束ねる等しているからか。)