Вопросы по JOSM

А такое сложно запилить?

Тоже иногда мучаюсь, но уже наловчился в полдюжину кликов делать

  1. Открываем на редактирование в диалоге первый релейшен
  2. Не закрывая диалог, выделяем членов второго
  3. То что подсветилось желтеньким - это общая граница, потом надо удалить из релейшена
  4. Добавляем всех членов второго, отказываясь от дублей
  5. Само сложное. То, что горело в п 3 - удаляем

Давно такое в хотелках весит. Проще всего восстановить из мультиполигонов полигоны, если это не границы, и объединить их. Сам стараюсь оные использовать только в крайних случаях из-за подобных проблем.

Ну и обратную операцию - распилить один полигон на два по заданной линии (линиям)

Для обычных полигонов есть - Alt-X

У меня есть два слоя (amenity=school и building=school), у каждого слоя может быть поле name (чаще всего name для школы присваивается только в одном слое, но бывает, когда одинаковый name присваивается и зданию школы, и ее территории). Если на один объект (то есть школу) у меня есть name сразу в двух слоях, тогда на карте они у меня дублируются, что выглядит не хорошо.
Предполагаю поступить так: выгрузить оба слоя в JOSM, затем оставить только те объекты, которые есть в других полигонах (building может показываться как точка или как полигон) и сами такие полигоны, потом удалить дублирующееся поле name в одном из слоев для каждого объекта, а потом все загрузить обратно в OSM. Подскажите, пожалуйста, как создать такую выборку из объектов, которые находят внутри полигонов, и самих полигонов, содержащих внутри себя точки или полигоны?

Вы в корне не правильно мыслите изначально.

Во первых amenity=school не подразумевает, что это здание вообще и никак. Здание это building=*. amenity=school без building — это территория школы. Вместе с building — это не посредственно школа.

building=school подразумевает что это здание школы (тип здания и его назначение), но без amenity - не является школой.

Я имею в виду случай, когда одинаковое поле name присваивается и паре building=school, в то время, как оно уже было прописано в amenity=school. Например, центр образования 1862 по адресу Черноморский бул., 6с1 в Москве. Там для каждого здания (а их там почти десяток) дублируется надпись “Центр образования № 1862”. Я не имею в виду, когда написано сразу же в одном объекте сразу amenity=school, building=school, name= *.

Лучше давать ссылки прямо на osm: http://www.openstreetmap.org/#map=18/55.64700/37.61440

Здесь, конечно же, почти всё неправильно. Составные здания мапятся вот так.
Название нужно ставить на полигон amenity=school.

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

Использовать отношения http://wiki.openstreetmap.org/wiki/RU:Relation:multipolygon и для территории школы, и для ее здания.

В отношение входит

  1. вэй забора и одна стена здания . И само здание тоже собирается отношением между своими стенами.
    или
    2 вэй забора и все здание

Как зануда у зануды спрашиваю… %-)

Можно провести границы полигона территории школы по краю здания/зданий. А забор (если он прерывается зданиями) провести отдельной линией/линиями поверх школьного полигона.

Если делать минимумом линий, то так:

  • есть отношение, на котором висит building=yes, состоящее из линии, совпадающей с крайней внешней стеной школьного здания (назовем ее л1) и линии, совпадающей с остальными стенами;
  • есть обычный way, на котором висит barrier=fence (назовем его л2)
  • есть отношение, состоящее из л1 и л2, на котором висит amenity=school

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

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

Как именно делать - вопрос личного решения и целесообразности.

То есть правомерно ли будет, если я найду все случаи, когда для building=school внутри amenity=school c дублирующимся name, и для building=school удалю их?

НЕТ. Забудьте пожалуйста слово (и действие) “удалю” на первые 2-3 месяца редактирования. Вы можете не вносить то что вам не нравится, но УДАЛЯТЬ ничего не следует, за исключением откровенных опечаток и косяков.

И не стоит смешивать building=yes + amenity=school
building=school - школьное здание, а не котельная и т.п, что еще может случится на территории школы

Спасибо большое за разъяснения!

По мне так это и есть косяки. Это даже не стоит старой темы где указывать адрес.

Такую фигню, как в примере с Центром образования, надо удалять. Только, конечно, не скриптами, а смотря, что и как там по факту.