You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#11276 2016-11-08 08:27:08
- romanshuvalov
- Member

- From: Togliatti, Russia
- Registered: 2015-02-26
- Posts: 509
- Website
Re: Как обозначать?
Как вы считаете, внутренняя часть здания здесь правильно обозначена?
По-моему, чего-то не хватает: https://www.openstreetmap.org/way/57959932
Выделенный контур - это inner-кольцо основного 12-этажного здания, но одновременно с этим контур обозначает еще и внутреннюю 5-этажную часть того же здания. То есть как будто нужно одновременно указать роль и inner, и outer + building:part=yes. Ну, или если совсем по-хорошему, делать новое отношение type=building, в которое включать внешний контур 12-этажного здания, мультиполигон 12-этажного здания (building:part=yes) и 5-этажную часть (building:part=yes). Внутренний контур будет являться членом мультиполигона (роль inner) и членом отношения типа building (роль part).
Правильно мыслю? Или то, что есть сейчас, тоже правильное? Уж очень смущает тег building:part на "дырке".
Мои проекты: 3D-игра Generation Streets (исходник генератора на гитхабе) | велосипедная карта Самарской области
Offline
#11277 2016-11-08 08:54:28
- Pavel47
- Member
- From: St. Petersburg
- Registered: 2011-10-29
- Posts: 155
Re: Как обозначать?
Как вы считаете, внутренняя часть здания здесь правильно обозначена?
По-моему, чего-то не хватает: https://www.openstreetmap.org/way/57959932Выделенный контур - это inner-кольцо основного 12-этажного здания, но одновременно с этим контур обозначает еще и внутреннюю 5-этажную часть того же здания. То есть как будто нужно одновременно указать роль и inner, и outer + building:part=yes. Ну, или если совсем по-хорошему, делать новое отношение type=building, в которое включать внешний контур 12-этажного здания, мультиполигон 12-этажного здания (building:part=yes) и 5-этажную часть (building:part=yes). Внутренний контур будет являться членом мультиполигона (роль inner) и членом отношения типа building (роль part).
Правильно мыслю? Или то, что есть сейчас, тоже правильное? Уж очень смущает тег building:part на "дырке".
Неправильно то, что "дырка" исключена из состава здания (building=yes). Полигоны building:part должны входить в полигон building, а дублирование building и building:part на одном объекте некорректно.
Как вариант правильного тегирования - оставить на полигоне-"бублике" все, что касается 12-этажной части, а все теги, касающиеся здания в целом (building и адреса) перевесить на внешний контур. Ну или 3 отношения создать (building с внешним outer и адресом и два building:part с соответствующей этажностью), тогда убрать все теги с линий - это уж дело вкуса.
Offline
#11278 2016-11-09 12:02:23
- romanshuvalov
- Member

- From: Togliatti, Russia
- Registered: 2015-02-26
- Posts: 509
- Website
Re: Как обозначать?
Спасибо.
Ещё вопрос: а корректно ли вообще вешать тег building:part на части мультиполигона? Страница вики Simple 3D Buildings предписывает маппить с использованием отношения type=building, а не type=multipolygon. Ведь к мультиполигону надо относиться только как к геометрическому объекту, отдельные его части не могут иметь собственные свойства. А если имеют, значит они должны быть самостоятельными объектами с собственным тегом.
Озеро, вырезанное внутри лесного массива, будет иметь тег natural=water, что как раз сделает его собственным объектом, не имеющим отношения к лесу (и этому озеру не важно, является ли его контур inner-частью лесного мультиполигона - оно к нему не относится).
А вот building:part=* не является самодостаточным тегом, он как бы говорит нам, что остальные свойства здания (тип, access, название, building:material и всё прочее) должны быть взяты у "родителя". А родитель без отношения type=building не определён, ведь факт принадлежности якобы "родительскому" отношению type=multipolygon еще не делает объект дочерним. Всё как с лесом и озером, озеро ведь не часть леса.
Отсюда я делаю вывод, что любые несамодостаточные ("уточняющие" теги, наподобие building:levels), поставленные на членов мультиполигона, являются результатом неправильного картографирования. Объекты с такими тегами надо сделать членом отношения type=building, выставив роль role=part, как сказано в Simple 3D Buildings. Это и только это явно сделает их дочерними для здания, сделает их не просто частью чьей-то геометрии, а самостоятельными объектами, а так же укажет, что теги отношения-родителя относятся и к нему.
Правильно рассуждаю?
Примечание: я пишу 3D-рендерер и поэтому пытаюсь выяснить, какой способ обозначения правильный, а какой заведомо неправильный, который рендерер может себе позволить отображать некорректно с пометкой "оно неправильно обозначено, исправьте". (Естественно, по возможности я постараюсь правильно нарисовать даже неправильно отмапленные объекты, но в любом случае надо знать, что правильно, а что нет.)
Last edited by romanshuvalov (2016-11-09 12:38:01)
Мои проекты: 3D-игра Generation Streets (исходник генератора на гитхабе) | велосипедная карта Самарской области
Offline
#11279 2016-11-09 14:20:31
- lcat
- Member
- From: Tambov
- Registered: 2015-03-06
- Posts: 69
- Website
Re: Как обозначать?
Спасибо.
Ещё вопрос: а корректно ли вообще вешать тег building:part на части мультиполигона? Страница вики Simple 3D Buildings предписывает маппить с использованием отношения type=building, а не type=multipolygon. Ведь к мультиполигону надо относиться только как к геометрическому объекту, отдельные его части не могут иметь собственные свойства. А если имеют, значит они должны быть самостоятельными объектами с собственным тегом.
А вот building:part=* не является самодостаточным тегом, он как бы говорит нам, что остальные свойства здания (тип, access, название, building:material и всё прочее) должны быть взяты у "родителя". А родитель без отношения type=building не определён, ведь факт принадлежности якобы "родительскому" отношению type=multipolygon еще не делает объект дочерним. Всё как с лесом и озером, озеро ведь не часть леса.
Отсюда я делаю вывод, что любые несамодостаточные ("уточняющие" теги, наподобие building:levels), поставленные на членов мультиполигона, являются результатом неправильного картографирования. Объекты с такими тегами надо сделать членом отношения type=building, выставив роль role=part, как сказано в Simple 3D Buildings. Это и только это явно сделает их дочерними для здания, сделает их не просто частью чьей-то геометрии, а самостоятельными объектами, а так же укажет, что теги отношения-родителя относятся и к нему.
Правильно рассуждаю?
Не совсем. Полигон building:part=* действительно не самодостаточен и является частью отношения type=building, на что также указывает его роль part. Но! Данный полигон выделяется лишь для того, чтоб показать на нём свойства, отличные от свойств других частей или всего здания, как то этажность, форма крыши, цвет и прочее. Общие свойства - адресация или один цвет вешается на отношение.
Дополнительно для таких зданий делают общий внешний контур с building=* и ролью в отношении outline для "совместимости с 2D рендерами"
Last edited by lcat (2016-11-09 14:22:41)
Offline
#11280 2016-11-09 15:36:13
- romanshuvalov
- Member

- From: Togliatti, Russia
- Registered: 2015-02-26
- Posts: 509
- Website
Re: Как обозначать?
частью отношения type=building, на что также указывает его роль part.
Вот именно, что частью отношения type=building, а многие его вешают на отношение type=multipolygon и ставят роль outer (пример 1, пример 2). И я считаю это неправильным. Правильно - только type=building и роль part. Об этом и пост.
Мои проекты: 3D-игра Generation Streets (исходник генератора на гитхабе) | велосипедная карта Самарской области
Offline
#11281 2016-11-09 18:31:48
- BushmanK
- Member

- Registered: 2011-05-03
- Posts: 5,106
Re: Как обозначать?
Вообще, нигде в документации использовать мультиполигоны для описания геометрии, например, с "островами"- не запрещено.
Там рекомендуется использовать отношение type=building, чтобы не заставлять пользователей данных проверять, есть ли у building вложенные building:part.
Но о ситуации, когда, например, пристройка здания имеет форму бублика, в явном виде ничего не сказано. Страница самого отношения https://wiki.openstreetmap.org/wiki/Relation:building также не говорит ничего об исключении частей, т.е. одними только его средствами описать пристройку-бублик нельзя.
Last edited by BushmanK (2016-11-09 22:35:28)
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#11282 2016-11-26 08:32:07
- Murcik
- Member
- Registered: 2012-09-14
- Posts: 31
Re: Как обозначать?
Тут с mavl возникло обсуждение, как обозначить бизнес-центр.
office=company чуть луше, чем водопад, но тоже не фонтан.
http://www.openstreetmap.org/node/4516487890/history
И в русской, и в английской вики нашел лишь building=commercial.
Может еще что-то есть?
Offline
#11283 2016-11-26 10:35:06
- literan
- Member

- Registered: 2012-11-06
- Posts: 3,941
- Website
Re: Как обозначать?
И в русской, и в английской вики нашел лишь building=commercial.
Может еще что-то есть?
building=commercial, а на территорию (если она есть) landuse=commercial. Название и веб-сайт - на территорию. А зачем что-то еще?
office=company - на офисы отдельных компаний, населяющих бизнес-центр
Offline
#11284 2016-11-26 20:16:45
- BushmanK
- Member

- Registered: 2011-05-03
- Posts: 5,106
Re: Как обозначать?
Естественно, building=commercial. По вкусу и обстоятельствам - name=*, operator=*, контакты компании-оператора. А резидентов бизнес-центра, чьи офисы в нем находятся - через office=* на точках POI внутри контура здания.
Странно, что такой опытный участник как mavl использовал тег для отдельных компаний.
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#11285 2016-11-29 10:26:58
- xmd5a
- Member

- Registered: 2013-01-02
- Posts: 879
- Website
Re: Как обозначать?
Надо ли включать станции метро (railway=station+station=subway, либо иногда пишут subway=yes) в отношение route=subway? Судя по вики - нет, но, согласитесь, как-то странно получается если станции не входят в маршрут.
Last edited by xmd5a (2016-11-29 10:28:48)
Offline
#11286 2016-11-29 10:42:07
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Как обозначать?
Не надо, вообще railway=station - это обычный label. Включать надо stop_position+platform.
Offline
#11287 2016-11-29 12:11:52
- xmd5a
- Member

- Registered: 2013-01-02
- Posts: 879
- Website
Re: Как обозначать?
Каким образом тогда рендерер узнает о том, как именно рисовать станцию, если она не входит в отношение route=subway, если требуется нарисовать карту метро на основе данных OSM?
Offline
#11288 2016-11-29 12:35:55
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Как обозначать?
Не совсем понял вопроса, но возможно похожий кейс я решал на днях.
Мне необходимо было узнать на ЖД остановка (stop_position) это "station" или "halt". Согласно схемы Общественного транспорта в2 - это точка stop_position должна входить в отношения public_transport=stop_area если это halt или public_transport=station если это станция. Но таких данных оказалось малооооо. Поэтому я просто искал в радиусе 400 от остановки building=train_station и считал что это станция.
Offline
#11289 2016-11-29 12:42:47
- xmd5a
- Member

- Registered: 2013-01-02
- Posts: 879
- Website
Re: Как обозначать?
У route=subway обычно задан цвет. Если я хочу нарисовать станцию таким же цветом как railway=subway, то придется искать по радиусу. Пересадочные станции метро находятся близко друг к другу, и каждая из них как правило имеет свой цвет. Вообщем у меня большие вопросы к тем кто придумал данную схему. Самый простой и очевидный вариант был бы включать станцию в отношение с ролью station, но так никто не делает. Чаще всего в отношение добавляют станции с ролью stop, или public_transport=stop_position.
Offline
#11290 2016-11-29 13:00:05
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Как обозначать?
Однозначно public_transport=station и public_transport=stop_position связываются отношением public_transport=stop_area, а так можно сравнивать имена если их там много.
Самый очевидный, видимо был признан не самым лучшим. Первостепенно отношение содержится место останова транспорта и место ожидания. А всякие удобство/станции это дополнительно.
*немного уточнил
Last edited by freeExec (2016-11-29 14:47:54)
Offline
#11291 2016-11-29 15:46:03
- pvp
- Member

- Registered: 2011-05-04
- Posts: 199
Re: Как обозначать?
Подскажите плиз, как обозначить в openong_hours "предпоследние пятницу, субботу и воскресенье августа"? Что-то в примерах ничего похожего нет, методом тыка подобрать не получилось.
Offline
#11292 2016-11-29 16:44:10
- Sergey Astakhov
- Member

- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,817
Re: Как обозначать?
Подскажите плиз, как обозначить в openong_hours "предпоследние пятницу, субботу и воскресенье августа"? Что-то в примерах ничего похожего нет, методом тыка подобрать не получилось.
Типа такого: Aug Fr[-2],Sa[-2],Su[-2]
Offline
#11293 2016-11-29 16:45:36
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Как обозначать?
Наверное будет так:
Aug Fr[-2], Aug Sa[-2], Aug Su[-2]Offline
#11294 2016-12-05 15:10:40
- wowik
- Member

- From: Zelenograd
- Registered: 2009-09-29
- Posts: 9,368
Re: Как обозначать?
http://www.openstreetmap.org/relation/1253709
Это, как я понял, самодеятельность такая?
role=sidewalk
Offline
#11295 2016-12-05 15:23:18
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Как обозначать?
Ну как бы там оставлен большой простор как:
Anything else that belongs to the street, but doesn't contain an address.Просто счас ещё нет фонарей и скамеек, но как только так будут добавлять и их.
Offline
#11296 2016-12-06 19:53:19
- xmd5a
- Member

- Registered: 2013-01-02
- Posts: 879
- Website
Offline
#11297 2016-12-06 20:04:15
- BushmanK
- Member

- Registered: 2011-05-03
- Posts: 5,106
Re: Как обозначать?
Как обозначить конюшню?
Смотря какую. https://wiki.openstreetmap.org/wiki/Riding
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#11298 2016-12-07 20:32:51
- LLlypuk82
- Member

- Registered: 2012-12-23
- Posts: 2,512
- Website
Re: Как обозначать?
тестовое сообщение
Ветка была сломана, ссылка на последнюю страницу вела на сообщение об ошибке. Починилась после удаления одного сообщения. Возвращаю его сюда в виде цитаты:
LLIypuk82 wrote:На яндексе это поняли и сделали грамотно (очень грамотно). Осталось дождаться, когда эта светлая мысль дойдёт до сообщества OSM.
По сути то же самое предлагалось >здесь<Подкиньте ссылку, которая там была, пожалуйста.
Offline
#11299 2016-12-11 21:34:01
- Mister Spock
- Member
- Registered: 2016-11-17
- Posts: 29
Re: Как обозначать?
После долгой вычитки вики и форума составил себе для ближайшей работы схему-шпаргалку по тегированию объектов, расположенных в типичной городской многоэтажной застройке (применительно к Нижнему Новгороду):
https://wiki.openstreetmap.org/wiki/Use … хемы_тегов
Нет ли каких явных косяков?
Пояснения:
1. По объектам ЖКХ и вентшахтам постарался совместить варианты из разных схем тегирования (man_made= vs pipleline= и т. д.).
2. На подъезды и чёрные выходы многоквартирных домов поставил access=private, поскольку они все сейчас с домофонами. По поводу чёрных выходов - правильнее emergency или таки service? Но через никто не заходит, да и вообще они обычно заперты.
3. Каким значением тега surface следует обозначить такое покрытие на детской площадке? surface=gravel? Во дворах новостроек сейчас такое часто встречается, ну может, камни могут быть помельче.
4. Если фасад дома разноцветный и преобладающий цвет выделить трудно, перечислять все основные цвета в building:colour=* через точку с запятой?
5. Аналогичный вопрос, если в одном здании находится две трансформаторных подстанции (или подстанция и распределительный пункт, каждый со своим обозначением). Например "ТП-283;ТП-284" или "ТП-377;РП-10". Или тут лучше поставить на здании две разных точки и теги name/ref указать отдельно для каждой?
Last edited by Mister Spock (2016-12-11 22:58:29)
Offline
#11300 2016-12-11 22:17:56
- pfg21
- Member
- From: Чебоксары
- Registered: 2012-10-18
- Posts: 4,281
Re: Как обозначать?
3. гравий он и в африке граыий, т.е. да
4. вариант супир-микромаппинг: нарезать на горизонтальные building:part и каждой присвоить свой цвет.
5. две отдельные точки со своими тегами или два контура с соотвествующими тегами. перечисление в тегах вещчъ не всеми поддерживаемая, если (а обычно так и есть) это два отдельных помещения - то так и рисовать (два контура с общей линией)
Offline