OpenStreetMap 标志 OpenStreetMap

ЧТО ЕЩЕ ВЫЯВИЛА КАРТОАКЦИЯ?

Zkir 于 2020年五月24日 以 Russian (Русский) 发布 最后一次更新于2020年六月14日。

Картоакция выявила еще одну УДИВИТЕЛЬНУЮ вещь: нет общепринятого и простого способа обозначать мелкие населенные пункты, деревни и села.

Способ, который был общепринятым, и который до сих пор доминирует, состоит в следующем:

  1. Обозначить центр населенного пункта, т.е. деревни или села, точкой с тегом place=village или place=hamlet и названием name=Нееловка

  2. а так же обозначить контур населенного пункта при помощи полигона с теми же тегами, включая название.

  3. Кроме того, на тот же контур вешается тег landuse=residential, а также еще residential=rural.

Приводит это однако к тому, что в таком случае название населенного пункта на мапнике отрисовывается два раза. Название полигонального place на мапнике не показывается, равно как и сам полигон place. Название landuse всё же вылезает.

Внятного выхода из этой ситуации нет. Совсем удалить полигон нельзя, потому что среди прочего, по принадлежности к нему определяется адресация (addr:city), а так же в навигаторах определяется лимит скорости 60/90 для дорог.

Можно попопытаться landuse=residential нарисовать отдельно, но это не всегда обосновано. Мелкий населенный пункт обычно состоит из одного лэндюза.

Еще можно создать два мультиполигона с разными тегами по одному контору, но это лекарство, которое хуже болезни.

电子邮件图标 Bluesky图标 Facebook图标 LinkedIn图标 Mastodon图标 Telegram图标 X图标

讨论

pacman5412020年05月25日 06:29 的评论

Наверно, на place=village не стоит вешать landuse=residential, поскольку landuse - это землепользование, а в пределах деревни могут быть и другие объекты кроме жилых (фермы например). Т. е. place=village и landuse=residential это разные полигоны (чаще всего), но могут и совпадать (редко).

Zkir2020年05月25日 18:24 的评论

@pacman541, это в теории редко. А на практике этот случай доминирующий. Сравните сами.

https://overpass-turbo.eu/s/Un7 vs https://overpass-turbo.eu/s/Un8

Причем отрисовывалось это 10 лет назад по Landsat

Да и на практике обычно деревня, особенно умирающая – это улица+дома+огороды. Поля вокруг и коровники в сам нп не входят.

pacman5412020年05月26日 06:11 的评论

Zkir, попробуйте те же запросы сравнить на Тверской области)) Тег place=* все же больше тяготеет к административным границам населенного пункта (согласно вики), а landuse=* - землепользование, не связанное с границами населенного пункта.

Zkir2020年05月26日 20:04 的评论

@pacman541,

Границы НП не могут быть не связанны с землепользованием. Населенный пункт по определению это место, где живут люди. В большом населенном пункте может быть много разных землепользований, в маленьком – одно. И это нормально.


Посмотрел Тверскую область, действительно всё перерисовали, ха-ха. Что я могу сказать, молодцы.

Не очень правда верится, что вот это например административка (Прямухино) osm.org/way/679216172/history

Что-то больше на ландсат похоже.

А вот по соседству типичный НП с одним ландюзом (Вперед) osm.org/node/658457498#map=17/56.94122/34.43430

Полигональный place=hamlet вовсе отсутствует.
Как его нарисовать?

pacman5412020年05月27日 11:35 的评论

У нп Вперед place=hamlet присутствует в виде отношения: osm.org/relation/9431501
Кстати, в Московской, Ярославской и других областях также преобладают двойные полигоны (place и landuse на разных полигонах).

Zverik2020年06月14日 08:33 的评论

Даже перепроверил год заметки: думал, это отголосок 2014. Название на точке и на полигоне — супер-длинная проблема OSM, которую обсужали ещё до того, как я пришёл в проект. Для решения мы придумывали тег place_name, который потом отменили. В репе картостиля минимум пять обсуждений, некоторые с пул-реквестами. Закрытыми, потому что для мейнтейнеров это не проблема.

Zverik2020年06月14日 08:36 的评论

Ну и вешать landuse=residential на контур — это моветон, который порицался тоже ещё до моего прихода в проект, и мнение не изменилось. Вот только последние обсуждения на форуме: раз, два, три.

_PG_2020年06月14日 09:43 的评论

А ты какой вариант предпочитаешь? Создавать для landuse копию контура? Создавать второй контур с отступом? Делать один контур, но не ставить на него какой-либо из тэгов?

Zverik2020年06月14日 10:07 的评论

Я обычно рисовал отдельные контуры с отступами от дорог. Но как временное решение, можно рисовать отдельный контур чуть меньше, но на всю территорию НП, чтобы включал только населённые территории. Когда мне было совсем лениво, я делал два мультиполигона на одном контуре, но это совсем редко.

Zkir2020年06月14日 12:56 的评论

@Zverik

Так если проблема не решается, то не удивительно, что она обсуждается на разные лады. Не удивлюсь, если и в 2025 году мы будем обсуждать ее же.

вешать landuse=residential на контур — это моветон

Это весьма относительное утверждение. Если речь о городе, который в принципе состоит из многих ландюзов, то вешать на один полигон и place и landuse – это моветон.

Если это деревня, которая в принципе состоит из одного ландюза, то это вполне нормальная практика.

Плодить альтернативный контур для той же сущности, как предлагает Павел в ролике – вот это как раз моветон.

Два мультиполигона на одном контуре – это как бы нормально, но очень напряжно. Понятно, что часто такое никто делать не будет.

freeExec2020年06月17日 07:42 的评论

На дворе 2020, а вы всё мапите под рендер.

_PG_2020年06月18日 19:36 的评论

На дворе 2020-й год, а вы все ещё считаете, что картой не должен пользоваться никто кроме маперов.

Zkir2020年06月18日 21:06 的评论

@freeExec, ты не мог бы по теме высказаться? Что мы делаем не так и как надо?

@PG, так получается (при некотором весьма специфическом толковании выражения “не мапить под рендер”), что вообще никто не может этой картой пользоваться. Прежде чем картой мог пользоваться хотябы кто-то, пусть даже и маппер, ее должен сперва отрисовать рендер.

freeExec2020年06月19日 06:42 的评论

@Zkir таки ответь по сути: проблема в данных или в картинке?

_PG_2020年06月19日 14:04 的评论

Отвечу по сути я: в данных. В том, что никто толком не знает, что такое “границы поселения” и как их рисовать. И нигде это не описано. И нигде не стандартизовано как именно их рисовать, чем они отличаются от landuse=residential, и как вообще всё это тэгировать. Напомню, из-за того, что всё тэгируется вповалку, картостиль рисует name для landuse. А на контуре name для place, а не для landuse. Это проблема даже не в данных, это проблема в отсутствии рекомендаций по сочетанию этих двух объектов.

Zkir2020年06月25日 15:42 的评论

PG, спасибо.

Zkir2020年06月25日 15:44 的评论

Еще в копилку наблюдений. JOSM расценивает два мультиполигона на одном контуре как ошибку – выдает ворнинг.

登录以留下评论