Отдельные прямые и обратные отношения в overpass-api

Мне нужно получить из overpass-api все данные об одной конкретной линии общественного транспорта. Допустим, у него номер 148 в моем городе.

Я использую что-то вроде этого примера ниже, но это дает мне комбинированные способы прямого и обратного маршрутов. Как я могу получить их отдельно?

<osm-script output="json">
  <union>
    <query type="relation">
      <has-kv k="ref" v="148"/>
      <bbox-query s="54.21466404047702" w="18.270263671875" n="54.503143645746924" e="18.840179443359375"/>
    </query>
  
    <recurse type="down" />
  </union>

  <print mode="skeleton" order="quadtile"/>
</osm-script>


person karol.barkowski    schedule 15.06.2015    source источник


Ответы (1)


Вы можете фильтровать по роли: http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Recurse_.28n.2C_w.2C_r.2C_bn.2C_bw.2C_br.29

Вот пример для другого маршрута, у которого есть прямой и обратный пути.

[out:json][timeout:25];

(
  //get relation
  relation["route"="bus"][ref=157]({{bbox}});

  // get ways with particular role
  way(r:"forward");

  // you may also add ways with empty role if you want
  // give role as an empty string
  //way(r:"");

  // get way nodes.
  // We can't use >; operator, because it will recurse to
  // all relation members.
  node(w);
);

out skel qt; 

Попробуйте на overpass-turbo: http://overpass-turbo.eu/s/a4F

person dkiselev    schedule 23.06.2015