Преодолеть только фильтрующие полигоны (Автономный переход)
У меня есть код для вызова в Maproulette для взлетно-посадочных полос, которые имеют форму многоугольника (а не линии).
Это код обхода для создания файла geoJSON:
[timeout:25];
area(3600304938)->.searchArea;
(
way["aeroway"="runway"](area.searchArea);
);
out body geom qt;
Теперь проблема состоит в том, что Overpass фильтрует все взлетно-посадочные полосы для меня (в форме многоугольника и в форме линии), но я хочу, чтобы для меня загружались только взлетно-посадочные полосы в форме многоугольника.
что я должен делать?
Спасибо
1 ответ
К сожалению, проверка закрытых путей в настоящее время еще не реализована, т.е. вы ничего не можете с этим поделать без дальнейшей постобработки, за исключением создания запроса на улучшение на Github, может быть: https://github.com/drolbr/Overpass-API/issues
Изменить: в следующей версии 0.7.55 вы можете посчитать количество членов, содержащихся в пути и сравнить его с количеством отдельных членов. В случае закрытого пути первый и последний узел обычно будут указывать на один и тот же идентификатор узла (поэтому в первую очередь это закрытый путь), поэтому мы могли бы использовать эту разницу в 1 для обоих значений для запроса.
Обратите внимание, что могут быть случаи, когда эта эвристика не работает. Вот почему я все еще рекомендую создать запрос на расширение для надлежащей проверки закрытого пути. В вашей области запросов я не нашел таких случаев:
[timeout:25];
area(3600304938)->.searchArea;
way["aeroway"="runway"](area.searchArea)(if:count_distinct_members() + 1 == count_members());
out body geom qt;
переходная турбо ссылка: http://overpass-turbo.eu/s/qLQ