Как получить ограничение скорости дороги, используя OpenStreetMaps? - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь получить ограничение скорости на указанной дороге, используя координаты, я пытался использовать OpenStreetMaps, но я очень новичок в этом запросе API, как бы вы go запросили информацию для API в java? спасибо.

1 Ответ

2 голосов
/ 20 марта 2020

Дороги в OSM являются частью более широкой категории, называемой «дороги». Например, чтобы найти максимальную скорость M25 в окрестностях Лондона, вы должны запросить HTTP GET на

/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

Данные в OSM неоднородны, и только ~ 7% магистралей в OSM имеют тег maxspeed. Но многие (все?) Страны имеют ограничения скорости по умолчанию, основанные на классификации дорог, и вы можете вывести это из значения тега шоссе (или ссылки), так что просто отсутствие тега maxspeed не означает, что вы не можете вывести ограничение скорости. Однако для этого необходимо знать ограничения скорости (или классификации дорог) для страны, в которой вы заинтересованы.

...