2016-12-29 9 views
1

В OpenStreetMap overpass API-documentation есть следующий пример:Путепровод не находит все кинотеатры - Путепровод API документации

area[name="Bonn"]; 
node(area)[highway=bus_stop]; 
node(around:100)[amenity=cinema]; 
out; 

Почему этот запрос не дает Kinopolis (в Бонне Годесбергского) в результате? См. Здесь: http://rpubs.com/hrbrmstr/overpass для получения результатов по API. Следующие два изображения показывают, что это действительно < 100 м. Пешком.

enter image description here К сожалению, я не был в состоянии показать графически на OpenStreetMap ... Я не знаю, как получить, как автобусная остановка начальную точку маршрута в веб-интерфейсе ...
Вот версия Google-Maps. enter image description here

+1

это CLD просто быть prblm с путепровода упак. У меня может быть время завтра, чтобы взглянуть. – hrbrmstr

+0

@hrbrmstr, что было бы здорово. Спасибо! – Rentrop

+0

Должен ли я открыть билет? – Rentrop

ответ

3

Поскольку вы просили кино узлов только в вашем примере запроса, результат не будет включать в себя путь 42473787. Вот как ваш запрос должен выглядеть как вернуть пути с amenity=cinema вместо:

area[name="Bonn"]; 
node(area)[highway=bus_stop]; 
way(around:100)[amenity=cinema]; 
(._;>;); 
out meta; 

Для получить как узлы и пути в одном запросе, просто использовать союз:

area[name="Bonn"]; 
node(area)[highway=bus_stop]->.bus_stops; 
( 
    way(around.bus_stops:100)[amenity=cinema]; 
    node(around.bus_stops:100)[amenity=cinema]; 
); 
(._;>;); 
out meta; 

Попробуйте в overpass turbo!

enter image description here

+0

понимается с точки зрения программирования/хранения данных: 'node'! =' Way'. С точки зрения пользователя: всегда ли приходится думать о хранилище данных openstreetmap? Как я могу запросить что угодно ('node',' way', 'rel' и т. Д.) Вокруг автобусных остановок? Вид '* (around.bus_stops: 100) [amenity = cinema]'. И второе: все ли узлы автобусных остановок? Если я правильно понимаю запрос 'node (area) [highway = bus_stop]' будет только возвращать 'nodes'. Может ли быть bus_stops типа 'way', а? Чтобы обобщить это: как получить все шины, например. '* (area) [highway = bus_stop]' – Rentrop

+1

Да, в это время вам нужно указать каждый отдельный тип явно в вашем запросе. В этом разделе есть расширенный запрос, но он еще не реализован. https://github.com/drolbr/Overpass-API/issues/150 - есть также 3 bus_stops, смоделированные как способ - вы можете назначить их на вход '.bus_stops', установленный через объединение. – mmd

+0

спасибо, просто добавил комментарий к проблеме github. – Rentrop