Клуб Народной карты

Общая граница двух административных единиц - как объединить две в одну?

Пытаюсь разобраться, как выйти из следующей ситуации.
Имеется контурный объект - административная единица (территория, подчинённая горсовету). У него отрисована граница. Имеется второй контурный объект - тоже административная единица (посёлок городского типа на территории, подчинённой горсовету). В данный момент на карте граница второго контура является вложенной по отношению к границе первого. Однако на большом участке границы контуров для этих двух объектов должны совпадать. Пытаюсь объединить соответствующие участки, но ничего не получается - выдаётся сообщение "Некорректное действие". В какой последовательности нужно производить действия, чтобы слияние границ произошло? Является ли принципиальным то, с какого контура нужно начинать? Дело в том, что внешний отрисован неправильно, а внутренний - правильно. Поэтому я пытаюсь внешний "притянуть" к внутреннему, а потом добавить/исключить участки. Но не получается. Буду благодарен за совет.
7 комментариев

сложно сказать без ссылки на объект. Редактируйте внешний контур, используя кнопку "расширенный режим" путём рисования новых участков и исключения/добавления новых, ну и здесь посмотрите.

5-й год жду снимок Петрозаводска
27 января 2016, 22:43

Ещё ссылка в тему:

Приемы создания сложных контурных объектов

http://help.yandex.ru/nmaps/contur2.xml#con2_1

Алексей Зуев
27 января 2016, 22:43

Читаем правила рисования сложных контуров, осмысливаем и идём претворять в жизнь. Шероховато, но претворяется - до тех пор, пока нам не захочется изменить какой-нибудь существующий контур, да не просто изменить, а сделать из простого контура сложный, т.е. имеющий общие участки с другими контурами. Здесь нас ожидает первая неприятность: разомкнуть существующий цельный контур нельзя, а значит не получится составить сложный контур строго по правилам. Действительно, редактор ругается, тычет нас носом в правила, но ничего дельного сказать не может и объект не сохраняет.
Находим волшебную кнопочку перерисовать и, если старые очертания объекта не представляют для нас ценности, поначалу радуемся. Рано. При перерисовке расширенный режим намертво отключён, т.е. добавить существующий участок другого контура не получится. Вычёркиваем идею.
А вот опция добавления нового внешнего контура в расширенном режиме работает как надо. Итак, если контур небольшой и перспектива рисовать его заново не пугает, то поступаем так: в расширенном режиме рисуем новый внешний контур, переключаемся в режим добавления/исключения существующих участков, включаем нужные части нового контура, а старый целиком исключаем. Эврика или как там её.

Но как же поступить, если старый контур громоздкий, и хочется его лишь немного подправить?
Исследуя небогатые возможности расширенного режима редактирования, постепенно приходим к выводу: если нам удастся порезать существующие контуры на такие части, из которых можно скомбинировать нужные нам новые очертания нашего контура, то всё получится. Начинаем разбираться, как резать. Пункта такого в контекстном меню нет, как бы сильно не хотелось.
Резать контуры лучше всего получается путём создания нового контура. Вот почему-то новый контур при присоединении к существующему естественно разбивает его на части, а редактируемый вызывает стойкое отторжение и ругань, что всё неправильно, даже если контуры имеют всего-навсего общую вершину.
Вспомнив, что не обязательно создавать новый объект, т.к. добавление нового внешнего контура работает корректно, получаем такой в меру сложный обходной путь:
Итак, хотим подтянуть контур X к контуру Y. В расширенном режиме добавляем к X новый временный внешний контур X*, присоединяя его к контуру Y в тех самых точках, где мы хотим присоединить контур X. Сохраняем изменение, т.к. переключиться из расширенного режима в обычный не дают. Разрезание удалось.
В простом режиме контур X подтягиваем к полученным точкам разрезания. Снова, внеся изменения в простом режиме, требуется их сохранить, прежде чем переключаться в расширенный. Поэтому приходится сначала нарисовать обход будущего общего участка границы, сохранить изменения, войти в расширенный режим и наконец скомбинировать нужный контур и отключить временную часть X*.

Если кому-то ничего не понятно, то это нормально.
Но есть картинки:
https://yadi.sk/i/hpMGtBLPgAfXN
https://yadi.sk/i/IkePJgZfgAfWF
https://yadi.sk/i/DhnSX-VkgAfUm

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

То есть, чтобы подтянуть контур X к контуру Y, вам нужно:
1) на контуре X войти в расширенный режим
2) нарисовать перемычки между контуром X и желаемым участком контура Y.
3) перейти в режим "добавления/исключения существующих", удалить старый кусок контура X (между перемычками) и добавить общий кусок X и Y (между другими концами перемычек)

На самом деле для перерисовки сложных контуров в массе своей используется режим расширенного редактирования и там последовательно рисование новых частей контура (следить за замкнутостью) и исключение "плохих" участков, которые в составе контура заменяются на свежеотрисованные.

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

1. Выбираете внешний (неправильный) контур
2. Жмёте "расширенный режим"
3. Рисуете "перемычки" от него ко внутреннему (после первой перемычки выбираете "Добавить новый участок контура" в меню вершины и рисуете вторую)
4. Переходите в "режим добавления/исключения участков" (кнопка со стрелкой на панели инструментов)
5. "Откликиваете" неправильный участок старого внешнего контура, "прикликиваете" правильный общий участок между перемычками.
6. Сохраняете. Готово!
Алексей Зуев
27 января 2016, 22:43

Спасибо. Теперь порядок работы в расширенном режиме мне понятен.

Иными словами, хотя перемещение точек в расширенном режиме запрещено, добавляя новые рёбра и удаляя старые, можно отредактировать контур так, как требуется. Вместе с инструментом добавления/исключения участков мы имеем все необходимые средства; делать промежуточные сохранения и переключать режимы не нужно.