LoginSignup
0
0

More than 1 year has passed since last update.

OpenStreetMapのタイル画像を事前生成する手順

Posted at

自前のWebサイトに地図を使いたいけど、GoogleMapsを避けたいときなどは、OpenStreetMapを使うことが多いと思います。
その時に必要となるタイル画像を事前生成する手順のメモです。

地図サーバーを構築する

Webに公開されているサーバーからデータを取得すると、負荷をかけるし、重いし、そもそもアクセス制限されているのかエラーになったりするので、自前でサーバーを用意する。

地図用のデータを取得する

OpenSteetMapの地図データであるPBFファイルをどこかから取得する。

を使うと、必要なエリアの地図データのみ取得できる。

サーバーを立てる

Dockerfileが公開されているので、簡単に構築できる。

$ docker volume create osm-data # データ領域を作る

$ docker run -v [取得したPBFファイルのフルパス]:/data/region.osm.pbf -v osm-data:/data/database overv/openstreetmap-tile-server import # データインポート

$ docker run -p 8080:80 -v osm-data:/data/database -d overv/openstreetmap-tile-server run # サーバー起動

http://localhost:8080にアクセスして、地図の動作確認ができる。

タイル画像を生成する

downloadosmtilesを利用する。

実行したディレクトリの直下にタイル画像が生成されるので、適当なディレクトリを作成して、その中から実行する。

モジュールGeo/OSM/Tiles.pmが必要なので、事前に入れておく。

$ mkdir map_images
$ cd map_images
$ wget https://fastapi.metacpan.org/source/ROTKRAUT/Geo-OSM-Tiles-0.04/downloadosmtiles.pl
$ cpan install Geo/OSM/Tiles.pm
$ perl downloadosmtiles.pl --lat=[開始緯度]:[終了緯度] --lon=[開始経度]:[終了経度] --zoom=[開始ズームレベル]:[終了ズームレベル] --baseurl=http://localhost:8080/tile

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0