osm数据,osrm-backend,osrm-frontend的使用

1、osrm-backend与osrm-frontend的配合使用:
1)通过准备好的osrm文件作为参数,启动osrm-routed服务;
2)启动fronted服务,如果是docker启动,指定backend为自己机器的服务
Docker run -e OSRM_BACKEND=’http://localhost:5000’ -p 9966:9966 osrm/osrm-frontend

如果要在其他不同ip的机器上访问,上面的backend就不能用localhost来写,要用真实ip。

另外,osrm-routed默认使用ch的方式,所以,作为启动参数传递的osrm文件,要用ch方式处理得到的,否则会报错。

如果不是docker的方式,则要在frontend/src/leaflet_optons.js中修改:
services: [{
label: ‘Car (fastest)’,
path: ‘https://域名/route/v1’
}],

Route 测试:
GET /{service}/{version}/{profile}/{coordinates}[.{format}]?option=value&option=value

2、如何让osrm-fronted显示自己的数据?
修改:osrm-frontend/src/leaflet_options.js
里面的var streets=,outdoors=…,定义了不同的样式的地图数据的来源,默认是来自mapbox。我们可以修改为自己的服务,例如,我们如果只用了streets的图层,则将var streets这里修改为:

var streets = L.tileLayer.wms(‘https://域名/geoserver/aa/wms’, {
layers: ‘aa:bb’,version: ‘1.1.0’,format:‘image/png’}),

5、利用自己准备的osm数据、本地的osrm-backend、本地的osrm-frontend、本地的geoserver级联远端的geoserver来验证道路级导航服务
1)将osm数据利用ch的方式转换为osrm数据
osrm-extract uat-hroad.osm -p profile/car.lua
osrm-contract uat-hroad.osrm

2)启动backend route
Osrm-routed uat-hroad.osrm

3)准备geoserver
3.1)远端准备
按照相应的过程,进行数据存储、图层等准备,记得发布的时候,只发布WMS服务。

3.2)本地准备
按照cascade的方式,设置自己的数据存储为remote的WMS.

4)修改frontend的配置,渲染的数据来自本地geoserver,导航的服务指向本地的routed服务

注意:本地提供的geoserver如果不是https的,则连接配置不要写https。

5)启动frontend服务
npm start

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值