在 GeoServer 中使用 OSM 进行路由(最佳实践)
Posted
技术标签:
【中文标题】在 GeoServer 中使用 OSM 进行路由(最佳实践)【英文标题】:Use OSM for routing in GeoServer (The best practise) 【发布时间】:2016-10-15 18:40:05 【问题描述】:我是 OSM 的新手,但现在我需要创建将使用 GIS(地理服务器)的应用程序,并将提供从 A 点到 B 点的道路服务。
我找到了一些关于此的信息,但我仍有任何问题。 我的是下载开放的街道地图并提取到数据库(PostgreSQL),并使用插件 pgRouting 进行路由。接下来将db连接到地图服务器并为客户端提供api。
问题: 1.这是正确的方法吗? 2. osm 格式如何用于 postgre? (osm.pbf?shp.zip?还是别的什么?)
感谢解答
【问题讨论】:
交叉发布:gis.stackexchange.com/questions/214371/… GraphHopper 的 shapefile 插件正在开发中:github.com/graphhopper/graphhopper/pull/616 【参考方案1】:让我详细说明一下,从开始到结束需要什么:
首先你需要下载 OSM 数据,你可以简单地使用Overpass API。
OSM2PO 基于 JAVA 的 CLI 工具,用于将 OSM 数据转换为可路由数据,here 是如何使用此工具的良好指南。
带有 postgis 和 pgRouting 扩展的 Postgresql,您将使用 dijkstra 算法来获得最短路径,或任何其他最适合您的算法。
最后,您将需要 Geoserver,它将提供 OGC 标准,例如WMS 和 WFS,您可以通过它们获得光栅或矢量格式的路线,您可以将表格存储为图层,您可能需要SQL View。
此外,对于前端,您可以使用 OpenLayers,它是一个 javascript Web 映射库,或者您可以使用 Leaflet, 您可以轻松地从这些库向 Geoserver 执行 WMS 和 WFS 请求,如果请求正确,Geoserver 将向您发送一个响应,其中包含您请求的数据。
注意:您可以使用带有 pgRouting 插件的 QGIS v2 进行测试。
【讨论】:
以上是关于在 GeoServer 中使用 OSM 进行路由(最佳实践)的主要内容,如果未能解决你的问题,请参考以下文章
Geoserver 2.10 Openlayers 3 TextSymbolizer 标签未显示