use*_*166 12 mobile openstreetmap
我正在创建一个移动应用程序,确定某人是否是一个好司机.手机位于仪表板上,并在用户驾驶时收集GPS信息.我需要确定一个方法,如果驱动程序遵循速度限制,我想通过OpenStreetMap这样做.从OpenStreetMap获取速度限制的最佳方法是什么?
Pap*_*pou 12
您可以发出Web请求以获得答案.
这是一个小盒子的一个(尝试作为浏览器URL),你应该是:
www.overpass-api.de/api/xapi?*[maxspeed=*][bbox=5.6283473,50.5348043,5.6285261,50.534884]
Run Code Online (Sandbox Code Playgroud)
在学校门前,答案显示街道穿过它:
<node id="1312239864" lat="50.5348877" lon="5.6286790">
<tag k="highway" v="crossing"/>
<tag k="traffic_calming" v="bump"/>
</node>
<node id="2025084665" lat="50.5345623" lon="5.6274183">
<tag k="traffic_calming" v="choker"/>
</node>
...
<way id="191950462">
<nd ref="2025084669"/>
...
<tag k="bicycle" v="yes"/>
<tag k="highway" v="secondary"/>
<tag k="maxspeed" v="30"/>
<tag k="name" v="Rue d'Esneux"/>
<tag k="source:maxspeed" v="school zone"/>
</way>
Run Code Online (Sandbox Code Playgroud)
我只留下了有趣的东西,最自我解释.例如,他们自己的节点上的流量平静功能.
街道是由节点和自己的标签组成的方式.
maxspeed = 30是你的答案.如果没有maxspeed,则默认适用于highway = secondary(或= motorway ...)
所有标签都在wiki.openstreetmap.org中描述.
这是使用xapi.您也可以使用天桥api.
限速覆盖是部分的,但您可以改进它.在主地图上留下Notes以提供数据.
对于任何寻找可以同时使用XML和json的现代替代方案的人来说,HERE Maps是隐藏的宝石,值得一试,有一个免费的计划,可以提供大约100,000个请求,API也非常坚固且易于使用.
https://developer.here.com/myapps/create-with-plan/10134035/10134084
创建一个帐户,创建您的应用,将您的lat批量应用于类似于以下的API.
根据文档获取速度限制示例请求
我与HERE Maps没有任何关系,只是一个寻求良好速度限制解决方案的开发人员!
PS,如果你使用这个解决方案,那么这个答案也可能有用.
这里映射REST API - getlinkinfo返回不正确的速度限制
OpenStreetMap 数据中有一个maxspeed
用于道路和水路的标签(链接)。OSM 数据本身有多种格式。最容易上手的是人类可读的 XML 格式,可以直接从OpenStreetMap.org导出。下面是伦敦 The Strand 的示例条目,显示了数据格式以及 maxspeed 的表达方式。
<way id="157541665" version="1" timestamp="2012-04-05T22:32:48Z" changeset="1"/>
<nd ref="1697772135"/>
<nd ref="33141175"/>
<nd ref="321255915"/>
<nd ref="282569730"/>
<tag k="highway" v="primary"/>
<tag k="lanes" v="3"/>
<tag k="maxspeed" v="30 mph"/>
<tag k="name" v="Strand"/>
<tag k="postal_code" v="EC4"/>
</way>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13194 次 |
最近记录: |