OpenStreetMapのタイルマップサーバーをDockerで構築する


OpenStreetMapのタイルマップサーバーをDockerで構築します。

環境
- Debian 10.3
- PostgreSQl 12.2

まず、PostgreSQL12のインストールを行います。

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee  /etc/apt/sources.list.d/pgdg.list
$ sudo apt-get update
$ sudo apt-get -y install postgresql-12 postgresql-client-12

次にタイルマップサーバーの構築を行います。
必要な場所のPBFファイルを取得します。
世界全体
今回は、九州のみの地図が必要だったので、
地域別PBFのサイトから
九州のPBFを取得してきます。

$ wget -c http://download.geofabrik.de/asia/japan/kyushu-latest.osm.pbf

Dockerのタイルマップサーバー用のボリュームの作成

$ docker volume create openstreetmap-data

PBFデータのインポート

$ docker run –v /home/baba/kyushu-latest.osm.pbf:/data.osm.pbf -v openstreetmap-data:/var/lib/postgresql/12/main overv/openstreetmap-tile-server import

タイルマップサーバーのDockerの起動

$ docker run -p 8080:80 -v openstreetmap-data:/var/lib/postgresql/12/main -d overv/openstreetmap-tile-server run

http://<サーバーアドレス>:8080/
にアクセスすることで、サンプルのleaflet画面を見ることができます。

http://<サーバーアドレス>:8080/{z}/{x}/{y}.png
で、それぞれのタイル画像にアクセスできます。