OSRM 筆記

OSRM OSRM(OpenStreetMap Routeing Machine)可用於路線規劃。做爲高性能的路線規劃引擎,OSRM使用C++14編寫,基於開源的OpenStreetMap數據實現。 官網:http://project-osrm.org/ Github:https://github.com/Project-OSRM/osrm-backend 安裝 使用docker安裝 首先須要安裝docker: curl -fsSL https://get.docker.com/ | sh # daocloud.io 國內鏡像 curl -sSL https://get.daocloud.io/docker | sh 詳細請閱讀:Docker學習筆記。 OSRM依賴OpenStreetMap的數據。能夠在 http://download.geofabrik.de 下載。選擇pbf便可。示例: wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf 安裝 Server 端並運行在5000端口: docker run -t -v $(pwd):/data osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf docker run -t -v $(pwd):/data osrm/osrm-backend osrm-contract /data/berlin-latest.osrm docker run -t -i -p 5000:5000 -v $(pwd):/data osrm/osrm-backend osrm-routed /data/berlin-latest.osrm 若是順利的話,osrm-backend已經安裝好了。發送請求示例: curl "http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true" 安裝web端用於顯示地圖,運行在 9966 端口: docker run -p 9966:9966 osrm/osrm-frontend 打開瀏覽器,訪問 http://127.0.0.1:9966 便可。 從源碼編譯安裝 這裏以 Ubuntu 16.04 爲例。 安裝依賴: sudo apt install build-essential git cmake pkg-config \ libbz2-dev libstxxl-dev libstxxl1v5 libxml2-dev \ libzip-dev libboost-all-dev lua5.2 liblua5.2-dev libtbb-dev 編譯和安裝 OSRM 二進制文件: mkdir -p build cd build cmake .. cmake --build . sudo cmake --build . --target install 從 Geofabrik 或者 Mapzen's Metro Extracts 下載一個.osm.pbf文件: wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf 解壓地圖數據並啓動 Server: osrm-extract berlin-latest.osm.pbf -p profiles/car.lua osrm-contract berlin-latest.osrm osrm-routed berlin-latest.osrm 請求示例: curl http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true 相關資料 OpenStreetMap OpenStreetMap(簡稱OSM)是一個網上地圖協做計劃,目標是創造一個內容自由且能讓全部人編輯的世界地圖。 OSM是一款由網絡大衆共同打造的免費開源、可編輯的地圖服務。OpenStreetMap它是利用公衆集體的力量和無償的貢獻來改善地圖相關的地理數據。OSM是非營利性的,它將數據回饋給社區從新用於其它的產品與服務。而其餘地圖則是將大多數的地圖數據出售給第三方。 OSM的地圖由用戶根據手提GPS裝置、航空攝影照片、其餘自由內容甚至單靠地方智慧繪製。網站裏的地圖圖像及向量數據皆以共享創意姓名標示-相同方式分享2.0受權。 官網:http://www.openstreetmap.org/ Leaflet Leaflet 是一個爲建設移動設備友好的互動地圖,而開發的現代的、開源的 JavaScript 庫。它是由 Vladimir Agafonkin 帶領一個專業貢獻者團隊開發,雖然代碼僅有 33 KB,但它具備開發人員開發在線地圖的大部分功能。 Leaflet設計堅持簡便、高性能和可用性好的思想,在全部主要桌面和移動平臺能高效運做,在現代瀏覽器上會利用HTML5和CSS3的優點,同時也支持舊的瀏覽器訪問。支持插件擴展,有一個友好、易於使用的API文檔和一個簡單的、可讀的源代碼。 官網:http://leafletjs.com/ 拓展 一、如何用Go實現一款相似滴滴優步的網絡約車軟件(含源碼) https://mp.weixin.qq.com/s/FnrnytO2-nybdWSE3jTkUQ 做者:飛鴻影~ 出處:http://52fhy.cnblogs.com/
相關文章
相關標籤/搜索