開放街圖標誌 OpenStreetMap 開放街圖

В продолжение ввода подъездов/квартир с OsmAnd где он вручную указывал “fixme=квартиры”. Этот шаг можно упростить и автоматизировать выполнив поисковый запрос в JOSM

("building:part"=yes or building=apartments or building=residentail or building=house) - (parent "addr:flats"=*)

Вся хитрость в том, что после того как мы выбрали все “жилые” или интересные нам здания, нам нужно исключить (операция “-“) те, у которых есть ребёнок с ключом “addr:flats”.

Я не опечатался, запрос нужно читать наоборот, ребёнок: для мультиполигона - линия или точка, для линии - только точка. Ещё раз код ниже значит:

- (parent "addr:flats"=*)
  1. исключить линии, у которых есть хотя бы один ребёнок (точка) с ключом “addr:flats”=
  2. в добавок к 1, исключить мультиполигоны, у которых есть хотя бы один ребёнок (точка или линия) с ключом “addr:flats”=

PS. Любителям составления запросов предлагаю продолжить как бы выглядел запрос “выбрать жилые здания с отличным от 1, 2, 3, 4, 8 количеством детей addr:flats” в overpass такое сделать будет проще.

電子郵件圖示 藍天圖示 Facebook 圖示 LinkedIn 圖示 乳齒象圖示 Telegram 圖示 X 圖示

討論

登入 來留下評論