Запрос внутренней области полигона в OSM

Всем добрый день, возникла такая вот проблема: я запрашиваю заданный мне bounding box с overpass сервера, строю объекты из полученных node,way,rel и отдаю дальше на отрисовку.

НО, когда приходит бокс, который оказывается полностью внутри какого либо огромного полигона (чаще всего лес), то ему попросту не захватить ни одной точки в этом районе, и в итоге на отрисовке получается дыра формой этого ббокса. Хотя логически понятно что там должен быть лес. Как быть в такой ситуации? Кто нибудь сталкивался с такой проблемой?

В случае всяких mapnik’ов ясно, что он тащит ббокс из уже построенной геометрии в Postrgres’е и тут проблем не возникает. Но что делать когда запрос применяется именно к сырым Node,Way,Rel? Или это тупиковый вариант

Костылей хотите? На главной openstreetmap.org есть кнопка со знаком вопроса - query features, которая возвращает список объектов, на которые мы указали, и список объектов, которые включают в себя данную точку (то-есть лес, город, страну и т.д.). Запрос кнопка генерирует к overpass, приблизительно такой:


[timeout:5][out:json];is_in(48.30565,25.84746)->.a;way(pivot.a);out tags geom(48.305090391561215,25.84519475698471,48.306014551617196,25.849405825138092);relation(pivot.a);out tags bb;

С нужными координатами, конечно же.

От этого уже можно плясать

Larry0ua, вся фишка в том, что bbox гораздо меньше полигона леса и, как следствие, в выгрузку не попадает ни одной точки леса, от которой можно было бы плясать.

… а эта магия с оверпассом всё равно работает :slight_smile: