【发布时间】:2020-07-01 13:46:36
【问题描述】:
我正在尝试使用坐标获取指定道路的限速, 我尝试过使用 OpenStreetMaps,但我对这个 API 请求非常陌生,你将如何在 java 中向 API 请求信息? 谢谢。
【问题讨论】:
标签: java api openstreetmap
我正在尝试使用坐标获取指定道路的限速, 我尝试过使用 OpenStreetMaps,但我对这个 API 请求非常陌生,你将如何在 java 中向 API 请求信息? 谢谢。
【问题讨论】:
标签: java api openstreetmap
OSM 中的道路是更广泛的“道路”类别的一部分。例如,要查找伦敦附近 M25 的最大速度,您可以查询 HTTP GET on
/api/0.6/way/27731013
回复是
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="CGImap 0.8.1 (12076 thorn-01.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
<way id="27731013" visible="true" version="17" changeset="69008803" timestamp="2019-04-08T14:10:29Z" user="ika-chan! UK-USA" uid="1016290">
<nd ref="210993597"/>
<nd ref="6390949913"/>
<nd ref="204492"/>
<nd ref="12086420"/>
<nd ref="6390949910"/>
<nd ref="204490"/>
<nd ref="6390949967"/>
<nd ref="6390949908"/>
<nd ref="669805479"/>
<tag k="active_traffic_management" v="yes"/>
<tag k="bicycle" v="no"/>
<tag k="carriageway_ref" v="A"/>
<tag k="description" v="London Orbital Motorway"/>
<tag k="foot" v="no"/>
<tag k="highway" v="motorway"/>
<tag k="highways_england:area" v="DBFO5"/>
<tag k="horse" v="no"/>
<tag k="int_ref" v="E 15;E 30"/>
<tag k="lanes" v="4"/>
<tag k="lit" v="yes"/>
<tag k="maxspeed" v="70 mph"/>
<tag k="maxspeed:variable" v="peak_traffic"/>
<tag k="motor_vehicle" v="designated"/>
<tag k="oneway" v="yes"/>
<tag k="operator" v="Highways England"/>
<tag k="ref" v="M25"/>
<tag k="source:maxspeed" v="UK:motorway"/>
<tag k="surface" v="asphalt"/>
</way>
</osm>
最大速度为
<tag k="maxspeed" v="70 mph"/>
这可能并不总是存在。根据 OSM 论坛上的this post
OSM 中的数据不完整,OSM 中只有约 7% 的高速公路有 最大速度标签。但是许多(所有?)国家都有默认的速度限制 根据道路分类,您可以从 高速公路标签值(或参考),所以只是因为 maxspeed 标签是 失踪并不意味着你不能推断出限速。然而 这需要您知道速度限制(或道路分类) 您感兴趣的国家/地区。
【讨论】: