You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
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: Как обозначать?

Felis Pimeja wrote:

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: Как обозначать?

UA6ATG wrote:

Цитаты вот отсюда:
http://wiki.openstreetmap.org/wiki/RU:R … ltipolygon

.....Опять выберите линию. Теперь у линии перед списком тегов появится отдельное поле особого вида. Слева будет написано "multipolygon", а справа поле для ввода значения роли этой линии в отношении "multipolygon". Впишите туда слово "outer".
    Теперь нарисуйте контур одного из островов и при необходимости присвойте ему теги, описывающие то, что находится внутри этого контура, например, если там кусты, то присвойте тег natural=scrub.

[Zverik.jpg]    Прошу прощения. Я должен был перечитать вики на русском прежде чем отсылать к ней. Эта статья устарела и учит, как делать НЕ НАДО. А потом мы удивляемся...  [/Zverik.jpg]

Тэги отношения нужно присваивать отношению, а не внешнему контуру (это всё ещё обрабатывается большинстввом рендеров, но это неправильный синтаксис).
Это никак не мешает присваивать участникам отношения совершенно другие тэги, не связанные с отношением.


Чтобы как-то проиллюстрировать сказанное, ниже я изобразил пример, как надо правильно оформлять релейшены. В примере всего 3 вея, из которых созданы 2 вложенных мультиполигона. Таким образом показан остров на озере в лесу:

Multipoly

Лес обнесён забором по внешнему периметру, поэтому barrier=fence вешается только на вей, а не на всё отношение. В противном случае, мы бы обнесли забором и озеро - как внутреннюю сторону мультиполигона.

Ещё раз: наследования не сужествует!

UA6ATG wrote:

А насчет 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: Как обозначать?

progserega wrote:

Товарищи, подскажите!
Есть билетная касса парома.
Есть информация о том, во сколько ходит паром на/с острова. Как нанести её на карту? Тег note, не совсем то.
Если бы данная информация мигрировала бы в навигатор было бы совсем хорошо. Информация очень важная, важнее, чем часы работы. Это насущная информация для тех, кто хочет вернуться с острова на материк.

Можно внести в description. Некоторые используют недокументированый тег timetable.
Но вообще расписание движения, стоимость и т.п. - это обычно слишком изменчивые и быстро устаревающие данные для карты.

Offline

#2657 2011-05-27 15:56:48

UA6ATG
Member
Registered: 2009-02-07
Posts: 121

Re: Как обозначать?

Felis Pimeja wrote:
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: Как обозначать?

Про мультиполигоны ещё есть недописанный учебник.


ШТОСМ | josm.ru | обо мне | удалёнка зло

Offline

#2660 2011-05-27 16:23:53

Felis Pimeja
Member
Registered: 2010-10-27
Posts: 1,035

Re: Как обозначать?

UA6ATG wrote:

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

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

building_multipoly.png

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: Как обозначать?

gryphon wrote:

- прокуратуру

Прокуратура точно в How to Map A есть.
(Сам оттуда брал smile )

Offline

#2665 2011-05-27 20:21:51

Amigo
Member
From: Москва
Registered: 2009-12-15
Posts: 2,772

Re: Как обозначать?

pankdm wrote:
gryphon wrote:

- прокуратуру

Прокуратура точно в How to Map A есть.
(Сам оттуда брал smile )

office=government + government=prosecutor

gryphon wrote:

Как лучше обозначить:
- психологический центр для подростков (от управления образования)

Наверное копать healthcare надо (+ Healthcare 2.0), например, healthcare=psychotherapist

gryphon wrote:

Как лучше обозначить:
- дом различной этажности

Общепризнанной схемы увы нет

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: Как обозначать?

gryphon wrote:

Ё-моё... опять я забыл про это длиннющий русский хау ту...

всем спасибо

[Ctrl]+[F] поможет smile

Offline

#2668 2011-05-30 10:41:51

dr&mx
Member
From: Saratov
Registered: 2011-03-04
Posts: 1,089

Re: Как обозначать?

Felis Pimeja wrote:

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: Как обозначать?

copov wrote:

Мультиполигоны вообще надо запретить. При какой-то ошибке что-то корректировать становится очень сложно и не только в 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: Как обозначать?

dr&mx wrote:

А в чем ваша логика?

Наложения линий - это бессмысленное дублирование информации. Тем более, что этого можно избежать в рамках принятой модели отношений.

2-ое имхо. Проблема мультиполигонов - это проблема не модели, а скорее проблема отсутствия удобного инструментария. Мне, вообще кажется, что конечный пользователь не должен вдаваться в тонкости устройства и работы отношений. Образно говоря, сейчас мы пишем в блокноте на чистом html. Нужны фреймворки и более дружелюбная среда. Тогда и предложений типа -

copov wrote:

Мультиполигоны вообще надо запретить. При какой-то ошибке что-то корректировать становится очень сложно и не только в 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

Board footer

Powered by FluxBB