【发布时间】:2021-06-08 16:55:15
【问题描述】:
我有一个这样的问题:我有一个纬度、经度对的列表,对于其中的每一对,我想知道它是在哪种类型的道路上生成的。 所有分数均来自在公共道路上行驶的汽车的 GPS 单元。
我已经下载了 OpenStreetMap .osm 导出,其中道路以如下格式存储:
<way id="88596345" visible="true" version="9" changeset="453983438" timestamp="2017-05-04T15:47:48Z" user="wegavision" uid="453845">
<nd ref="456877786"/>
<nd ref="3335483999"/>
<nd ref="248335839"/>
<nd ref="406453920"/>
<nd ref="25808860"/>
<tag k="destination" v="abcd"/>
<tag k="highway" v="secondary"/>
<tag k="lanes" v="1"/>
<tag k="lit" v="yes"/>
<tag k="maxspeed" v="30"/>
<tag k="oneway" v="yes"/>
<tag k="ref" v="M54"/>
<tag k="sidewalk" v="left"/>
<tag k="smoothness" v="good"/>
<tag k="surface" v="asphalt"/>
</way>
现在我的问题是,是否有任何工具可以在 GPS 坐标和这种方式 ID 之间找到匹配项?这是如何使用 OpenStreetMaps 完成的?
【问题讨论】:
-
这是知识图匹配,有各种开源工具,如 valhalla、GraphHopper 和 OSRM
-
感谢您的回复。我认为 Overpass 最适合我的需求。但是速度有问题。 HTTP 请求需要太长时间来同步大型数据集。是否可以使 Overpass 查询本地数据库(例如从本地 .osm 导出创建)?
-
或者您是否建议使用其他工具?
-
Overpass API 确实不是地图匹配的最佳选择。我还会推荐上面@Karussell 提到的选项。 Overpass API不能处理很多点的原因是为了避免过度使用公共服务器的速率限制。
标签: openstreetmap map-matching