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
で、それぞれのタイル画像にアクセスできます。