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

你可能感兴趣的:(地图处理)