OpenMapTiles

本項ではopenmaptilesを利用して簡単にベクトルタイルのバイナリ(.mbtile形式)を作成するところまでを解説します。

ターゲット

  • OpenMapTiles v3.15

ハードウェア

  • 64bit CPU
  • 4GBメモリ以上
  • 30GB以上のディスクスペース

ソフトウェア

共通して必要なもの

  • Docker
  • Docker Compose V2プラグイン
  • git
  • make

quickstart.shで利用されるもの

  • bc
  • md5sum

セットアップ

openmaptiles の quickstart.sh の実行に必要なコマンドをインストールします。

Ubuntu or Debian

sudo apt install git make bc

Mac

sudo xcode-select -s /Applications/Xcode.app
xcode-select --install
brew install coreutils

なお、 xcode-select はCommand Line Toolsをインストールするもので、直接Xcodeを起動していた場合は必要ない可能性があります。また、アップデートはSoftware Updateで自動的に行われます。

また、 md5sum は必須ではないが quickstart.sh を実行後に停止してしまうのでインストールを推奨。

openmaptiles

最初にopenmaptilesをgithubから git clone して、ターゲットとなるバージョンを指定します。

git clone https://github.com/openmaptiles/openmaptiles.git
cd ./openmaptiles
git checkout -b v3.15 refs/tags/v3.15

次に必要なdocker imageを取得します。

docker compose pull

あとは動作チェックのために、quickstart.shを実行します。

./quickstart.sh

これでセットアップは完了です。

タイルの作成

openmaptilesではquickstart.shを通して以下の作業をします。

  • インポート先となる PostgreSQL のインスタンスを起動
  • OpenStreetMapのデータをgeofabrikのミラーからダウンロード
  • layersの定義に沿ってimposm3を使ってOSMデータをインポート
  • PostgreSQLでプロセッシング
  • Mapbox Vector Tile を生成して data/tiles.mbtiles へ格納

また、デフォルトではズームレベル 7 のタイルまでしか作成しないため、事前に .env にあるQUICKSTART_MAX_ZOOMの値を変更しておく必要があります。

vi .env

ズームレベル14まで生成する場合は、差分は以下のようになります。

diff --git a/.env b/.env
index 0ef9a89..6fafc98 100644
--- a/.env
+++ b/.env
@@ -20,7 +20,7 @@ BBOX=-180.0,-85.0511,180.0,85.0511

 # Which zooms to generate with   make generate-tiles-pg
 MIN_ZOOM=0
-MAX_ZOOM=7
+MAX_ZOOM=14

 # `MID_ZOOM` setting only works with `make generate-tiles-pg` command.  Make sure MID_ZOOM < MAX_ZOOM.
 # See https://github.com/openmaptiles/openmaptiles-tools/pull/383

あとは quickstart.sh を使ってタイルを作成します。

./quickstart.sh {region}/{country_name}

日本のデータを作成する場合は以下のように行います。

./quickstart.sh asia/japan

作成可能な国名の一覧(geofabrickのミラーの一覧)は以下のコマンドで取得できます。

make list-geofabrik

また、 quickstart.sh 実行後には data/tiles.mbtiles というファイルが作成されます。

タイルの再作成

最新のデータを使ってタイルを再度作成する場合は一度作成したタイルや設定ファイルを削除する必要があります。

cd openmaptiles
docker compose down -v
git clean -dfx
./quickstart.sh japan

results matching ""

    No results matching ""