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/
相关文章
相关标签/搜索