使用 Docker 自架 OSRM 前後端服務

自架圖資服務,導航算里程都 OK

目錄

下載 OSRM 台灣地圖包

1
2
3
4
5
cd /var/www
mkdir osm
cd osm

wget https://download.geofabrik.de/asia/taiwan-latest.osm.pbf

圖資處理

此步驟會使用大量的記憶體,請確保可用記憶體至少還有 12GB 以上

1
2
3
docker run --rm --name osrm_temp_process -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-extract -p /opt/car.lua /data/merge.osm.pbf || echo "osrm-extract failed"
docker run --rm --name osrm_temp_process -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-partition /data/merge.osrm || echo "osrm-partition failed"
docker run --rm --name osrm_temp_process -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-customize /data/merge.osrm || echo "osrm-customize failed"

執行 OSRM 後端

1
docker run --name osrm_backend_routed -t -i -d -p 5000:5000 -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend --algorithm mld /data/merge.osrm

API 文件: http://project-osrm.org/docs/v5.5.1/api/#route-service  

執行 OSRM 前端

1
2
#請將 http://192.168.0.99:5000/ 替換成上面後端的主機 IP 位置及 Port 號
docker run -d -p 9966:9966 -e OSRM_BACKEND='http://192.168.0.99:5000/' osrm/osrm-frontend

參考資料

Github Project: https://github.com/Project-OSRM/osrm-backend  
滴滴下架!我连夜自建了地图服务器: https://zhuanlan.zhihu.com/p/386894010  
Geofabrik: https://download.geofabrik.de/  
台灣地圖包: https://download.geofabrik.de/asia/taiwan-latest.osm.pbf  

如需轉載引用需保留原始連結及作者姓名,並以相同方式分享。CC BY-SA 4.0  

最後更新 2024/01/08 10:20 +0800
瀏覽次數
本站總訪問量
使用 Hugo 建立
主題 StackJimmy 設計