
こんにちは、2日間Apacheと格闘してた佐藤さんに脅されて書いてます。石川です。
MaaS関係のプロジェクトでOpenStreetMapを構築したので参考にしたところと注意点を軽くまとめてみようと思います。
OpenStreetMapについては脅してきた佐藤さんの記事をご覧ください。
環境
- OS: Ubuntu 16.04
- VM: Azure VM(Standard B2s)
- CPU: Xeon E5-2673 x2 core
- RAM: 4GiB
- Disk: Standard SSD 30GiB
今回は国内の1地域だけ扱うので小さめのVMでも大丈夫です。日本全体や複数国扱う場合にはそれに応じたスペックのものを使いましょう。
構築
基本はこちらのサイトの手順に沿って行います。
エラーに遭遇
Step 4の
./get-shapefiles.sh
を実行すると何やらエラーが出てきます。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Warning: Failed to create the file
Warning: data/simplified-land-polygons-complete-3857.zip: No such file or
Warning: directory
どうやらcurlでファイルをDLする部分がうまくいっていない様子。少し中身を見てみましょう。
# simplified-land-polygons-complete-3857
echo "downloading simplified-land-polygons-complete-3857..."
curl -z "data/simplified-land-polygons-complete-3857.zip" -L -o "data/simplified-land-polygons-complete-3857.zip" "http://data.openstreetmapdata.com/simplified-land-polygons-complete-3857.zip"
echo "simplified-land-polygons-complete-3857..."
unzip $UNZIP_OPTS data/simplified-land-polygons-complete-3857.zip \
simplified-land-polygons-complete-3857/simplified_land_polygons.shp \
simplified-land-polygons-complete-3857/simplified_land_polygons.shx \
simplified-land-polygons-complete-3857/simplified_land_polygons.prj \
simplified-land-polygons-complete-3857/simplified_land_polygons.dbf \
simplified-land-polygons-complete-3857/simplified_land_polygons.cpg \
-d data/
curl -z "data/simplified-land-polygons-complete-3857.zip" -L -o "data/simplified-land-polygons-complete-3857.zip" "http://data.openstreetmapdata.com/simplified-land-polygons-complete-3857.zip"
どうやらここでエラーが出ているようですね。解決してあげましょう。
ひとまず指定されているURLをブラウザで開いてみます。

まあエラーが出てるので開けるわけありません。
ただ、Webサーバーは動いてるようなのでこのドメイン
( http://data.openstreetmapdata.com
)のルートを見に行きましょう。

おや、何かありますね。
You can find a (partial) replacement at https://osmdata.openstreetmap.de/
どうやら別ドメインで同じリソースが拾えそうな雰囲気。というわけで記述してあるURLを開きましょう。

「なんかこれありそうじゃね?」
リンクをクリックしていくと

なんかありそうですね。 とりあえずwgetを試してみます。
wget https://osmdata.openstreetmap.de/download/land-polygons-complete-4326.zip
Resolving osmdata.openstreetmap.de (osmdata.openstreetmap.de)... 116.203.99.53
Connecting to osmdata.openstreetmap.de (osmdata.openstreetmap.de)|116.203.99.53|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 562523038 (536M) [application/zip]
Saving to: ‘land-polygons-complete-4326.zip.2’
land-polygons-complete-4 2%[ ] 14.15M 4.74MB/s
ダウンロードができてますね!
ひとまずこのダウンロードは中断して先ほどのスクリプトを修正してあげましょう。
http://data.openstreetmapdata.com/
を
https://osmdata.openstreetmap.de/download/
に置換してあげるだけです。簡単ですね。
あとの工程は手順通り行うだけとなります。では出来上がったOSMを開いてみましょう。

世界地図のめちゃめちゃ縮小版っぽいのが開けたら正しく構築できています。
あとはleafletなどから呼んで煮るなり焼くなりご自由にしてください。
おつかれさまでした。