OpenStreetMap和OpenRouteService

  OpenStreetMap如今已经越来越成熟了,不仅体现在他的数据越来越丰富,而且基于他的应用也越来越多,这说明OSM数据的可用性越来越强。今年5月份,波恩大学制图系就做出了一个基于OSM数据和OGC标准OpenLS接口的路径规划服务OpenRouteService。这个系统是一个叫Pascal Neis的德国小伙子为主做的,他是FH-Mainz毕业的Diploma(大约相当于国内的硕士),现在在波恩大学制图系读Alexander Zipf教授的博士。在德国,学校名字前面加FH大约相当于我们国内的大专或者是高等专科学校。别看人家是FH毕业的,能力还不赖。如果有兴趣,又懂德语,可以到他主页上看看,上面还有他的毕业论文。目前,OpenRouteService提供包括慕尼黑在内的德国13个城市的路径规划服务,正是由于基于OSM翔实的数据,OpenRouteService才能够提供步行者路径规划,这就是他不同于其他路径规划系统的地方。Google Maps现在还做不到这个程度,因为Google Maps的矢量数据是由Navteq和TeleAtlas提供的,而NA和TA两家公司都只做汽车导航数据,自然不会有人行道数据。

  OSM的蓬勃发展说明了wiki风格的制图有搞头。OSM的矢量数据主要靠来自全球各地的爱好者和热心人们在Yahoo Maps提供的影像数据基础上半自动数字化得来的(图1),再加上一些有GPS接收机的人上传的一些GPS轨迹图,再加上使用像JOSM这种稍微高级一点的地图编辑器的制图人员的绘制与修正。前面说了,OSM的优势在于翔实,地铁线、公交线、人行道以及越来越多的包括邮局、交通灯、教堂、停车场等POI信息都已经能在OSM的很多城市图里看到了,比如这里就是慕尼黑市中心和英国公园的一部分,能够看到在英国公园里详细的人行道,而这些在Google的数据里面是完全没有的。另外,OSM支持数据导出,除了标准的图像格式以外,以.osm为后缀的xml格式对我最有吸引力,因为我认为这是最有希望把GDF枪毙掉的格式的雏形,我前面说过了,我很烦GDF,而且在我参与写完Shapefile-GDF转换程序之后,越发的感觉GDF是一种不伦不类的格式,实在是应该被枪毙掉。

OSM01

图1 OSM的编辑界面

 

p.s. OpenRouteService还在不断的完善,这两天又新增加了Accessibility Analyse功能,它可以帮你算出从一个点出发,在xx分钟之内你能到达的地区范围。

转载于:https://www.cnblogs.com/rib06/archive/2008/06/07/1215446.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenLayers是一个开源的JavaScript库,用于在Web上创建交互式地图应用程序。它提供了一系列功能强大的地图操作和可视化工具,包括路径规划。 要在OpenLayers中实现路径规划,你可以使用第三方的路径规划服务,比如OpenRouteService或者Mapbox Directions API。这些服务提供了路径规划的功能,并且可以与OpenLayers集成使用。 下面是一个简单的示例代码,展示了如何在OpenLayers中使用OpenRouteService进行路径规划: ```javascript // 创建地图容器 var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: ol.proj.fromLonLat([0, 0]), zoom: 2 }) }); // 创建路径规划控件 var directions = new OpenLayers.Control.Directions({ serviceUrl: 'https://api.openrouteservice.org/directions', apiKey: 'YOUR_API_KEY' // 替换为你的API密钥 }); // 将路径规划控件添加到地图上 map.addControl(directions); // 设置起点和终点坐标 var startPoint = new OpenLayers.Geometry.Point(lon1, lat1); var endPoint = new OpenLayers.Geometry.Point(lon2, lat2); // 发起路径规划请求 directions.route({ startPoint: startPoint, endPoint: endPoint, callback: function(result) { // 处理路径规划结果 if (result.status === 'success') { var route = result.routes; var routeCoordinates = route.geometry.coordinates; // 创建路径线要素 var routeFeature = new ol.Feature({ geometry: new ol.geom.LineString(routeCoordinates) }); // 创建路径线图层 var routeLayer = new ol.layer.Vector({ source: new ol.source.Vector({ features: [routeFeature] }) }); // 将路径线图层添加到地图上 map.addLayer(routeLayer); } else { console.error('路径规划失败'); } } }); ``` 请注意,上述示例中的API密钥需要替换为你自己的密钥。此外,还需要根据你的需求进行适当的样式和交互设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值