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.***
#2651 2011-05-26 17:19:06
- Felis Pimeja
- Member

- Registered: 2010-10-27
- Posts: 1,035
Re: Как обозначать?
UA6ATG
Ещё раз - никакого наследования тэгов участниками отношения. Структура XML тут вообще ни при чём. Прочитайте ещё раз внимательно статьи из вики про мультиполигоны. Участники мультиполигона могут иметь любые индивидуальные тэги и name не исключение.
Offline
#2652 2011-05-26 18:30:49
- Scrup
- Member

- From: Russia/Yugra/Kogalym (Когалым)
- Registered: 2011-03-05
- Posts: 111
Re: Как обозначать?
-
Last edited by Scrup (2011-05-26 18:31:09)
Offline
#2653 2011-05-26 20:15:49
- UA6ATG
- Member
- Registered: 2009-02-07
- Posts: 121
Re: Как обозначать?
UA6ATG
Ещё раз - никакого наследования тэгов участниками отношения. Структура XML тут вообще ни при чём. Прочитайте ещё раз внимательно статьи из вики про мультиполигоны. Участники мультиполигона могут иметь любые индивидуальные тэги и name не исключение.
Цитаты вот отсюда:
http://wiki.openstreetmap.org/wiki/RU:R … ltipolygon
.....Опять выберите линию. Теперь у линии перед списком тегов появится отдельное поле особого вида. Слева будет написано "multipolygon", а справа поле для ввода значения роли этой линии в отношении "multipolygon". Впишите туда слово "outer".
Теперь нарисуйте контур одного из островов и при необходимости присвойте ему теги, описывающие то, что находится внутри этого контура, например, если там кусты, то присвойте тег natural=scrub.
==============================
<b> Тег name=* внутренним линиям присваивать не надо!</b>
==============================
А насчет XML это Вы зря, именно там ответ на вопрос.
Offline
#2654 2011-05-26 22:20:27
- Felis Pimeja
- Member

- Registered: 2010-10-27
- Posts: 1,035
Re: Как обозначать?
Цитаты вот отсюда:
http://wiki.openstreetmap.org/wiki/RU:R … ltipolygon.....Опять выберите линию. Теперь у линии перед списком тегов появится отдельное поле особого вида. Слева будет написано "multipolygon", а справа поле для ввода значения роли этой линии в отношении "multipolygon". Впишите туда слово "outer".
Теперь нарисуйте контур одного из островов и при необходимости присвойте ему теги, описывающие то, что находится внутри этого контура, например, если там кусты, то присвойте тег natural=scrub.
[Zverik.jpg] Прошу прощения. Я должен был перечитать вики на русском прежде чем отсылать к ней. Эта статья устарела и учит, как делать НЕ НАДО. А потом мы удивляемся... [/Zverik.jpg]
Тэги отношения нужно присваивать отношению, а не внешнему контуру (это всё ещё обрабатывается большинстввом рендеров, но это неправильный синтаксис).
Это никак не мешает присваивать участникам отношения совершенно другие тэги, не связанные с отношением.
Чтобы как-то проиллюстрировать сказанное, ниже я изобразил пример, как надо правильно оформлять релейшены. В примере всего 3 вея, из которых созданы 2 вложенных мультиполигона. Таким образом показан остров на озере в лесу:
Лес обнесён забором по внешнему периметру, поэтому barrier=fence вешается только на вей, а не на всё отношение. В противном случае, мы бы обнесли забором и озеро - как внутреннюю сторону мультиполигона.
Ещё раз: наследования не сужествует!
А насчет XML это Вы зря, именно там ответ на вопрос.
Вот xml, описывающий приведённый выше пример:
<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' generator='JOSM'>
<bounds minlat='54.781507299999994' minlon='32.056729499999996' maxlat='54.7815738' maxlon='32.0568824' origin='CGImap 0.0.2' />
<bounds minlat='54.781507299999994' minlon='32.056729499999996' maxlat='54.7815738' maxlon='32.0568824' origin='OpenStreetMap server' />
<node id='-57' visible='true' lat='54.781545800013326' lon='32.056828347722' />
<node id='-55' visible='true' lat='54.78153971668032' lon='32.056831093249215' />
<node id='-53' visible='true' lat='54.781533466679704' lon='32.056823001169015' />
<node id='-51' visible='true' lat='54.781533883346434' lon='32.05681274156731' />
<node id='-49' visible='true' lat='54.781539133346975' lon='32.05680522749283' />
<node id='-47' visible='true' lat='54.7815453833467' lon='32.05680970703723' />
<node id='-46' visible='true' lat='54.78154838334623' lon='32.056818666126034' />
<node id='-43' visible='true' lat='54.78155438334463' lon='32.056827191710546' />
<node id='-41' visible='true' lat='54.78155013334585' lon='32.0568417863552' />
<node id='-39' visible='true' lat='54.7815392166803' lon='32.056845109888144' />
<node id='-37' visible='true' lat='54.78152988334558' lon='32.05683990783658' />
<node id='-35' visible='true' lat='54.78152563334424' lon='32.05682155615468' />
<node id='-33' visible='true' lat='54.78152713334477' lon='32.05680725051289' />
<node id='-31' visible='true' lat='54.78153546668' lon='32.05678774281954' />
<node id='-29' visible='true' lat='54.78154296668025' lon='32.0567871648138' />
<node id='-27' visible='true' lat='54.7815511333456' lon='32.05680002544128' />
<node id='-26' visible='true' lat='54.78155355001157' lon='32.05681216356159' />
<node id='-23' visible='true' lat='54.781542550013604' lon='32.05676679011186' />
<node id='-21' visible='true' lat='54.78152005000847' lon='32.056778205724996' />
<node id='-19' visible='true' lat='54.7815131333377' lon='32.056822423163275' />
<node id='-17' visible='true' lat='54.78151963334158' lon='32.05686259456145' />
<node id='-15' visible='true' lat='54.781550383345795' lon='32.056864184077206' />
<node id='-13' visible='true' lat='54.78156555000592' lon='32.05683311626927' />
<node id='-11' visible='true' lat='54.781564550006536' lon='32.05679540139544' />
<node id='-10' visible='true' lat='54.78155263334518' lon='32.0567692466362' />
<way id='-48' action='modify' visible='true'>
<nd ref='-46' />
<nd ref='-47' />
<nd ref='-49' />
<nd ref='-51' />
<nd ref='-53' />
<nd ref='-55' />
<nd ref='-57' />
<nd ref='-46' />
<tag k='name' v='Буян' />
<tag k='natural' v='beach' />
<tag k='place' v='island' />
</way>
<way id='-28' action='modify' visible='true'>
<nd ref='-26' />
<nd ref='-27' />
<nd ref='-29' />
<nd ref='-31' />
<nd ref='-33' />
<nd ref='-35' />
<nd ref='-37' />
<nd ref='-39' />
<nd ref='-41' />
<nd ref='-43' />
<nd ref='-26' />
</way>
<way id='-12' action='modify' visible='true'>
<nd ref='-10' />
<nd ref='-11' />
<nd ref='-13' />
<nd ref='-15' />
<nd ref='-17' />
<nd ref='-19' />
<nd ref='-21' />
<nd ref='-23' />
<nd ref='-10' />
<tag k='barrier' v='fence' />
</way>
<relation id='-65' action='modify' visible='true'>
<member type='way' ref='-28' role='outer' />
<member type='way' ref='-48' role='inner' />
<tag k='name' v='Озеро' />
<tag k='natural' v='water' />
<tag k='type' v='multipolygon' />
<tag k='water' v='lake' />
</relation>
<relation id='-60' action='modify' visible='true'>
<member type='way' ref='-12' role='outer' />
<member type='way' ref='-28' role='inner' />
<tag k='name' v='Рыжий лес' />
<tag k='natural' v='wood' />
<tag k='type' v='multipolygon' />
</relation>
</osm>Этот код можно сохранить как *.osm и открыть если что-то непонятно.
Last edited by Felis Pimeja (2011-05-26 22:27:38)
Offline
#2655 2011-05-27 10:14:57
- progserega
- Member

- From: Владивосток
- Registered: 2009-12-31
- Posts: 456
Re: Как обозначать?
Товарищи, подскажите!
Есть билетная касса парома.
Есть информация о том, во сколько ходит паром на/с острова. Как нанести её на карту? Тег note, не совсем то.
Если бы данная информация мигрировала бы в навигатор было бы совсем хорошо. Информация очень важная, важнее, чем часы работы. Это насущная информация для тех, кто хочет вернуться с острова на материк.
Сссылка: http://osm.org/go/5@OP6YYGQ--
Last edited by progserega (2011-05-27 10:15:35)
matrix.org: @progserega:rsprim.ru
Offline
#2656 2011-05-27 11:10:26
- Sergey Astakhov
- Member

- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,816
Re: Как обозначать?
Товарищи, подскажите!
Есть билетная касса парома.
Есть информация о том, во сколько ходит паром на/с острова. Как нанести её на карту? Тег note, не совсем то.
Если бы данная информация мигрировала бы в навигатор было бы совсем хорошо. Информация очень важная, важнее, чем часы работы. Это насущная информация для тех, кто хочет вернуться с острова на материк.
Можно внести в description. Некоторые используют недокументированый тег timetable.
Но вообще расписание движения, стоимость и т.п. - это обычно слишком изменчивые и быстро устаревающие данные для карты.
Offline
#2657 2011-05-27 15:56:48
- UA6ATG
- Member
- Registered: 2009-02-07
- Posts: 121
Re: Как обозначать?
UA6ATG wrote:Цитаты вот отсюда:
http://wiki.openstreetmap.org/wiki/RU:R … ltipolygon.....Опять выберите линию. Теперь у линии перед списком тегов появится отдельное поле особого вида. Слева будет написано "multipolygon", а справа поле для ввода значения роли этой линии в отношении "multipolygon". Впишите туда слово "outer".
Теперь нарисуйте контур одного из островов и при необходимости присвойте ему теги, описывающие то, что находится внутри этого контура, например, если там кусты, то присвойте тег natural=scrub.[Zverik.jpg] Прошу прощения. Я должен был перечитать вики на русском прежде чем отсылать к ней. Эта статья устарела и учит, как делать НЕ НАДО. А потом мы удивляемся... [/Zverik.jpg]
.
Мда , теперь придется переписывать собственный Help в моем блоге. Вы тут правы. Cпасибо, просветили. Да и структура XML показывает полное отсутствие родительских тегов, тоесть ведет себя как самостоятельная сущность (как точки и линии) Это конечно понимаю не новость, но иногда нужно убедится и в простых вещах.
Тогда вот какой еще вопрос с Вашего позволения: предположим есть дом с "дырками" Можно ли тогда на отношение двух полигонов этого дома повесить и адресацию? Притом адресацию нужно повесить именно на отношение.
Или например еще лес с поляной, можно ли определить весь лес через отношение (то есть задав все теги леса в отношение только, не описывая внешний полигон) а поляну задать единственным тегом: К примеру "нечто поросщее травой?" (не помню точно название тега, но такой есть точно)
Еще раз спасибо.
Offline
#2658 2011-05-27 16:07:31
- dr&mx
- Member

- From: Saratov
- Registered: 2011-03-04
- Posts: 1,089
Re: Как обозначать?
В вики есть статья, элементы карты называется, кажется.
В ней описаны точки, линии, полигоны и их отношения. Из нее ясно что они являются именно такими элементами, которые могут иметь теги
То есть на внешний полигон ставите забор, на внутренний - здание, на их отношение- школа.
Offline
#2659 2011-05-27 16:11:59
- Zverik
- Moderator

- From: Tallinn
- Registered: 2010-10-14
- Posts: 5,695
- Website
Re: Как обозначать?
Про мультиполигоны ещё есть недописанный учебник.
Offline
#2660 2011-05-27 16:23:53
- Felis Pimeja
- Member

- Registered: 2010-10-27
- Posts: 1,035
Re: Как обозначать?
... предположим есть дом с "дырками" Можно ли тогда на отношение двух полигонов этого дома повесить и адресацию? Притом адресацию нужно повесить именно на отношение.
Или например еще лес с поляной, можно ли определить весь лес через отношение (то есть задав все теги леса в отношение только, не описывая внешний полигон) а поляну задать единственным тегом: К примеру "нечто поросщее травой?" (не помню точно название тега, но такой есть точно)
Еще раз спасибо.
Если правильно понял вопрос, и в том и в другом случае не только можно, но и нужно.
Правда у "дома с дырками" может быть несколько адресов:

Offline
#2661 2011-05-27 16:42:15
- dr&mx
- Member

- From: Saratov
- Registered: 2011-03-04
- Posts: 1,089
Re: Как обозначать?
Это скорее несколько домов
И зачем им отношение? Просто вплотную стоят
Last edited by dr&mx (2011-05-27 16:44:03)
Offline
#2662 2011-05-27 19:30:58
- Felis Pimeja
- Member

- Registered: 2010-10-27
- Posts: 1,035
Re: Как обозначать?
dr&mx
То - вопрос скорее религиозного характера. Чётких рекомендаций на сей счёт пока нет. Предпочитаю рисовать такие створы мультиполигонами. Имхо, это логичнее, хотя ацки усложняет жизнь любителям потлача : )
Offline
#2663 2011-05-27 19:37:47
- gryphon
- Member

- From: Pskov
- Registered: 2010-09-16
- Posts: 1,690
Re: Как обозначать?
Как лучше обозначить:
- прокуратуру
- психологический центр для подростков (от управления образования)
- дом различной этажности (на данный момент обозначаю так: на каждом полигоне-куске здания только тег buildig:levels, все остальные теги, включая building, на отношении multipolygon, например: http://www.openstreetmap.org/browse/relation/1603140 )
Offline
#2664 2011-05-27 20:12:29
- pankdm
- Member

- From: Moscow | Kemerovo
- Registered: 2010-08-20
- Posts: 320
Re: Как обозначать?
- прокуратуру
Прокуратура точно в How to Map A есть.
(Сам оттуда брал
)
Offline
#2665 2011-05-27 20:21:51
- Amigo
- Member

- From: Москва
- Registered: 2009-12-15
- Posts: 2,772
Re: Как обозначать?
gryphon wrote:- прокуратуру
Прокуратура точно в How to Map A есть.
(Сам оттуда брал)
office=government + government=prosecutor
Как лучше обозначить:
- психологический центр для подростков (от управления образования)
Наверное копать healthcare надо (+ Healthcare 2.0), например, healthcare=psychotherapist
Как лучше обозначить:
- дом различной этажности
Общепризнанной схемы увы нет
Last edited by Amigo (2011-05-27 20:50:15)
Offline
#2666 2011-05-27 20:57:02
- gryphon
- Member

- From: Pskov
- Registered: 2010-09-16
- Posts: 1,690
Re: Как обозначать?
Ё-моё... опять я забыл про это длиннющий русский хау ту...
всем спасибо
Offline
#2667 2011-05-30 09:37:00
- Canabis
- Member
- From: Moscow / Smolensk region
- Registered: 2010-02-07
- Posts: 863
- Website
Re: Как обозначать?
Ё-моё... опять я забыл про это длиннющий русский хау ту...
всем спасибо
[Ctrl]+[F] поможет ![]()
Offline
#2668 2011-05-30 10:41:51
- dr&mx
- Member

- From: Saratov
- Registered: 2011-03-04
- Posts: 1,089
Re: Как обозначать?
dr&mx
То - вопрос скорее религиозного характера. Чётких рекомендаций на сей счёт пока нет. Предпочитаю рисовать такие створы мультиполигонами. Имхо, это логичнее, хотя ацки усложняет жизнь любителям потлача : )
А в чем ваша логика?
Offline
#2669 2011-05-30 10:42:07
- copov
- Member
- Registered: 2010-08-22
- Posts: 280
Re: Как обозначать?
Имхо, это логичнее, хотя ацки усложняет жизнь любителям потлача : )
Мультиполигоны вообще надо запретить. При какой-то ошибке что-то корректировать становится очень сложно и не только в potlatch
Offline
#2670 2011-05-30 11:12:12
- gryphon
- Member

- From: Pskov
- Registered: 2010-09-16
- Posts: 1,690
Re: Как обозначать?
Мультиполигоны вообще надо запретить. При какой-то ошибке что-то корректировать становится очень сложно и не только в potlatch
Зачем же ? Просто любой инструмент надо использовать по назначению. Если забивать шурупы молотком, ничего хорошего, конечно, не выйдет.
Считаю, что если можно обойтись без мультиполигонов, не создавая костылей, то лучше и не использовать их. Но в некоторых случаях без мультиполигонов никак не обойтись.
Offline
#2671 2011-05-30 12:43:53
- SevenMag
- Member

- From: Магнитогорск
- Registered: 2011-03-30
- Posts: 260
- Website
Re: Как обозначать?
Как обозначить шлагбаум с платным въездом для автомобилей а для пешеходов бесплатный??
barrier=lift_gate + foot=yes... а дальше?
Offline
#2672 2011-05-30 12:55:02
- Felis Pimeja
- Member

- Registered: 2010-10-27
- Posts: 1,035
Re: Как обозначать?
А в чем ваша логика?
Наложения линий - это бессмысленное дублирование информации. Тем более, что этого можно избежать в рамках принятой модели отношений.
2-ое имхо. Проблема мультиполигонов - это проблема не модели, а скорее проблема отсутствия удобного инструментария. Мне, вообще кажется, что конечный пользователь не должен вдаваться в тонкости устройства и работы отношений. Образно говоря, сейчас мы пишем в блокноте на чистом html. Нужны фреймворки и более дружелюбная среда. Тогда и предложений типа -
Мультиполигоны вообще надо запретить. При какой-то ошибке что-то корректировать становится очень сложно и не только в potlatch
, не появится.
Кстати, критикую, предлагай. Отменить всегда успеем.
Offline
#2673 2011-05-30 13:01:00
- Hind
- Member

- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Как обозначать?
Запретить нужно Potlatch, за отсутствие нормальной поддержки отношений, и за это высказываюсь отнюдь не один я.
Offline
#2674 2011-05-30 13:01:31
- UA6ATG
- Member
- Registered: 2009-02-07
- Posts: 121
Re: Как обозначать?
Вот возник такой вопрос: на обследуемой местности много, много, леса.
Обвести его весь невозможно по ряду причин. Но какие то куски надо выделять (леса) чтобы внести туда например отношение для описание полян, озер и так далее.
Как поступить в этом случаи? Если все же лес некто когда то обвел, как найти нужный полигон на карте? Банально увеличив маштаб?
Offline
#2675 2011-05-30 13:16:27
- Felis Pimeja
- Member

- Registered: 2010-10-27
- Posts: 1,035
Re: Как обозначать?
UA6ATG, josm?, potlatch?, merkaartor?
Offline