ЧТО ЕЩЕ ВЫЯВИЛА КАРТОАКЦИЯ?
Posted by Zkir on 24 May 2020 in Russian (Русский). Last updated on 14 June 2020.Картоакция выявила еще одну УДИВИТЕЛЬНУЮ вещь: нет общепринятого и простого способа обозначать мелкие населенные пункты, деревни и села.
Способ, который был общепринятым, и который до сих пор доминирует, состоит в следующем:
-
Обозначить центр населенного пункта, т.е. деревни или села, точкой с тегом place=village или place=hamlet и названием name=Нееловка
-
а так же обозначить контур населенного пункта при помощи полигона с теми же тегами, включая название.
-
Кроме того, на тот же контур вешается тег landuse=residential, а также еще residential=rural.
Приводит это однако к тому, что в таком случае название населенного пункта на мапнике отрисовывается два раза. Название полигонального place на мапнике не показывается, равно как и сам полигон place. Название landuse всё же вылезает.
Внятного выхода из этой ситуации нет. Совсем удалить полигон нельзя, потому что среди прочего, по принадлежности к нему определяется адресация (addr:city), а так же в навигаторах определяется лимит скорости 60/90 для дорог.
Можно попопытаться landuse=residential нарисовать отдельно, но это не всегда обосновано. Мелкий населенный пункт обычно состоит из одного лэндюза.
Еще можно создать два мультиполигона с разными тегами по одному контору, но это лекарство, которое хуже болезни.
Discussion
Comment from pacman541 on 25 May 2020 at 06:29
Наверно, на place=village не стоит вешать landuse=residential, поскольку landuse - это землепользование, а в пределах деревни могут быть и другие объекты кроме жилых (фермы например). Т. е. place=village и landuse=residential это разные полигоны (чаще всего), но могут и совпадать (редко).
Comment from Zkir on 25 May 2020 at 18:24
@pacman541, это в теории редко. А на практике этот случай доминирующий. Сравните сами.
https://overpass-turbo.eu/s/Un7 vs https://overpass-turbo.eu/s/Un8
Причем отрисовывалось это 10 лет назад по Landsat
Да и на практике обычно деревня, особенно умирающая – это улица+дома+огороды. Поля вокруг и коровники в сам нп не входят.
Comment from pacman541 on 26 May 2020 at 06:11
Zkir, попробуйте те же запросы сравнить на Тверской области)) Тег place=* все же больше тяготеет к административным границам населенного пункта (согласно вики), а landuse=* - землепользование, не связанное с границами населенного пункта.
Comment from Zkir on 26 May 2020 at 20:04
@pacman541,
Границы НП не могут быть не связанны с землепользованием. Населенный пункт по определению это место, где живут люди. В большом населенном пункте может быть много разных землепользований, в маленьком – одно. И это нормально.
Посмотрел Тверскую область, действительно всё перерисовали, ха-ха. Что я могу сказать, молодцы.
Не очень правда верится, что вот это например административка (Прямухино) https://www.openstreetmap.org/way/679216172/history
Что-то больше на ландсат похоже.
А вот по соседству типичный НП с одним ландюзом (Вперед) https://www.openstreetmap.org/node/658457498#map=17/56.94122/34.43430
Полигональный place=hamlet вовсе отсутствует.
Как его нарисовать?
Comment from pacman541 on 27 May 2020 at 11:35
У нп Вперед place=hamlet присутствует в виде отношения: https://www.openstreetmap.org/relation/9431501
Кстати, в Московской, Ярославской и других областях также преобладают двойные полигоны (place и landuse на разных полигонах).
Comment from Zverik on 14 June 2020 at 08:33
Даже перепроверил год заметки: думал, это отголосок 2014. Название на точке и на полигоне — супер-длинная проблема OSM, которую обсужали ещё до того, как я пришёл в проект. Для решения мы придумывали тег place_name, который потом отменили. В репе картостиля минимум пять обсуждений, некоторые с пул-реквестами. Закрытыми, потому что для мейнтейнеров это не проблема.
Comment from Zverik on 14 June 2020 at 08:36
Ну и вешать landuse=residential на контур — это моветон, который порицался тоже ещё до моего прихода в проект, и мнение не изменилось. Вот только последние обсуждения на форуме: раз, два, три.
Comment from _PG_ on 14 June 2020 at 09:43
А ты какой вариант предпочитаешь? Создавать для landuse копию контура? Создавать второй контур с отступом? Делать один контур, но не ставить на него какой-либо из тэгов?
Comment from Zverik on 14 June 2020 at 10:07
Я обычно рисовал отдельные контуры с отступами от дорог. Но как временное решение, можно рисовать отдельный контур чуть меньше, но на всю территорию НП, чтобы включал только населённые территории. Когда мне было совсем лениво, я делал два мультиполигона на одном контуре, но это совсем редко.
Comment from Zkir on 14 June 2020 at 12:56
@Zverik
Так если проблема не решается, то не удивительно, что она обсуждается на разные лады. Не удивлюсь, если и в 2025 году мы будем обсуждать ее же.
Это весьма относительное утверждение. Если речь о городе, который в принципе состоит из многих ландюзов, то вешать на один полигон и place и landuse – это моветон.
Если это деревня, которая в принципе состоит из одного ландюза, то это вполне нормальная практика.
Плодить альтернативный контур для той же сущности, как предлагает Павел в ролике – вот это как раз моветон.
Два мультиполигона на одном контуре – это как бы нормально, но очень напряжно. Понятно, что часто такое никто делать не будет.
Comment from freeExec on 17 June 2020 at 07:42
На дворе 2020, а вы всё мапите под рендер.
Comment from _PG_ on 18 June 2020 at 19:36
На дворе 2020-й год, а вы все ещё считаете, что картой не должен пользоваться никто кроме маперов.
Comment from Zkir on 18 June 2020 at 21:06
@freeExec, ты не мог бы по теме высказаться? Что мы делаем не так и как надо?
@PG, так получается (при некотором весьма специфическом толковании выражения “не мапить под рендер”), что вообще никто не может этой картой пользоваться. Прежде чем картой мог пользоваться хотябы кто-то, пусть даже и маппер, ее должен сперва отрисовать рендер.
Comment from freeExec on 19 June 2020 at 06:42
@Zkir таки ответь по сути: проблема в данных или в картинке?
Comment from _PG_ on 19 June 2020 at 14:04
Отвечу по сути я: в данных. В том, что никто толком не знает, что такое “границы поселения” и как их рисовать. И нигде это не описано. И нигде не стандартизовано как именно их рисовать, чем они отличаются от landuse=residential, и как вообще всё это тэгировать. Напомню, из-за того, что всё тэгируется вповалку, картостиль рисует name для landuse. А на контуре name для place, а не для landuse. Это проблема даже не в данных, это проблема в отсутствии рекомендаций по сочетанию этих двух объектов.
Comment from Zkir on 25 June 2020 at 15:42
PG, спасибо.
Comment from Zkir on 25 June 2020 at 15:44
Еще в копилку наблюдений. JOSM расценивает два мультиполигона на одном контуре как ошибку – выдает ворнинг.