在 GitHub 開源平台上,OsmHackTW 提供許多台灣相關的地圖資源。 其中,openstreetmap-tiles-docker 專案利用docker容器建立本地端開放街圖標準樣式的台灣地圖服務。 以下介紹如何快速建立此服務映像檔及啟動服務的方法: 1.下載映像檔製作環境 利用瀏覽器連線到網址 https://github.com/sekewei/openstreetmap-tiles-docker 點選 【Clone or Download / Download ZIP】,將下載的壓縮環境檔解開 若有安裝 git 開發環境,也可使用下列 git 指令下載製作環境 git clone https://github.com/sekewei/openstreetmap-tiles-docker.git 2.製作地圖服務映像檔 進入製作環境的資料夾,利用如下 docker 指令製作地圖服務映像檔 cd openstreetmap-tiles-docker docker build -f ./Dockerfile -t twstd:latest . 3.初始化地圖資料庫 3.1.啟動容器,執行資料庫初始化腳本 docker run -it -v /docker/osm-postgresql:/var/lib/postgresql --name twstd twstd:latest /bin/bash cd /usr/local/sbin/ ./run initdb ./run startdb ./run createuser ./run createdb 3.2.下載台灣地圖資料,匯入資料庫 wget -O /data/import.pbf http://download.geofabrik.de/asia/taiwan-latest.osm.pbf ./run import 3.3.含圖資存成新版映像檔 暫時跳離容器終端機可使用 Ctrl-p + Ctrl-q docker commit -m full_loaded twstd twstd:latest 4.啟動地圖服務容器 利用如下指令啟動地圖服務容器 docker run -it -p 80:80 -v /docker/osm-postgresql:/var/lib/postgresql --name twstd twstd:latest cd /usr/local/sbin/ ./run startservices 5.測試地圖服務 利用瀏覽器連線到本地主機80號埠測試地圖服務,點選'本地街圖'選項 http://localhost 6.更新圖資 利用如下指令來更新台灣區地圖資料 docker attach twstd cd /usr/local/sbin/ ./run startdb # 若執行updatemap出現資料庫連線錯誤,須先啟動資料庫 ./run updatemap Ctrl-p + Ctrl-q 註: 1. 此服務的設計,利用-v參數將容器內地圖資料庫目錄 /var/lib/postgresql 連結到主機目錄/docker/osm-postgresql,方便主機獨立維護圖資。 2. 如下兩個台灣地圖服務專案的差異為地圖樣式不同: 開放街圖標準樣式: https://github.com/sekewei/openstreetmap-tiles-docker 開放街圖明亮樣式: https://github.com/sekewei/docker-opentileserver
2017年7月28日 星期五
steps for setting up an osm-style map server from OsmHackTW
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言