OpenStreetMapの地図タイルサーバをubuntu16.04で新しく作りなおしました

位置情報共有サービスのLunascope(ルナスコープ)で利用している地図にOpenStreetMapを利用しています。
1年前に作ったOpenStreetMapのタイルサーバは実験的なものでもあったのですが、次のような課題が出ていました。

  • 地図データが古い
  • さくらのVPSで100G SSDプランにしたが70G使用済み
  • データ容量減らすためにjsライブラリのLeafletで最大拡大レベルを16にしてた

今回も地図タイル配信サーバでは、データ転送量無料のさくらのVPSを利用しますが、Leafletによるマップの拡大レベルを18まで許可するために前回より容量を増やします。今回は200G SSDプランにしました。

タイルサーバ構築の概要

Lunascopeで利用しているタイルサーバの構築では大きく次の3つを実施しました。

  • 1. Ubuntu 16.04にOpenStreetMapのタイルサーバを構築
  • 2. 地図情報を自動でアップデートする設定
  • 3. Let’s EncryptでHTTPSに対応

それぞれ、公式(?)のドキュメントに沿って丁寧に実施すれば大丈夫です。(私もドキュメントを見ながらサーバセットアップを行いましたが、ユーザ名等を少し変えていたので1回目では動きませんでした。最初の手順からやり直して2回目で無事動きました。。)

1の手順が書いてあるサイト: Installing an OpenStreetMap Tile Server on Ubuntu

2の手順が書いてあるサイト: Keeping the local database in sync with OSM

データ更新の方法やスクリプトは何種類もあるらしいのですが、まずは標準的な方法で実装したかったので、上記ドキュメントの上から順に実施して openstreetmap-tiles-update-expire 等のスクリプトは使わない方針にしました。

3の手順が書いてあるサイト: certbot

毎日、OpenStreatMapのデータを反映する仕組みにしたので、ルナスコープの地図もどんどんアップデートされるようになりました!
私自身もOpenStreetMapの地図本体で気になるところがあったら適宜追加、修正していきます。