Запрос JOSM как выделить жилые дома без указанных addr:flats
Posted by d1g on 1 October 2015 in English.В продолжение ввода подъездов/квартир с OsmAnd где он вручную указывал “fixme=квартиры”. Этот шаг можно упростить и автоматизировать выполнив поисковый запрос в JOSM
("building:part"=yes or building=apartments or building=residentail or building=house) - (parent "addr:flats"=*)
Вся хитрость в том, что после того как мы выбрали все “жилые” или интересные нам здания, нам нужно исключить (операция “-“) те, у которых есть ребёнок с ключом “addr:flats”.
Я не опечатался, запрос нужно читать наоборот, ребёнок: для мультиполигона - линия или точка, для линии - только точка. Ещё раз код ниже значит:
- (parent "addr:flats"=*)
- исключить линии, у которых есть хотя бы один ребёнок (точка) с ключом “addr:flats”=
- в добавок к 1, исключить мультиполигоны, у которых есть хотя бы один ребёнок (точка или линия) с ключом “addr:flats”=
PS. Любителям составления запросов предлагаю продолжить как бы выглядел запрос “выбрать жилые здания с отличным от 1, 2, 3, 4, 8 количеством детей addr:flats” в overpass такое сделать будет проще.
Discussion