OSRM 笔记
OSRM 笔记
james_laughing 发表于3个月前
OSRM 笔记
  • 发表于 3个月前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

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/ 拓展 1、如何用Go实现一款类似滴滴优步的网络约车软件(含源码) https://mp.weixin.qq.com/s/FnrnytO2-nybdWSE3jTkUQ 作者:飞鸿影~ 出处:http://52fhy.cnblogs.com/
共有 人打赏支持
粉丝 24
博文 384
码字总数 21039
×
james_laughing
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: