Страница 1 из 1

Полигон на полигоне - как правильно делать острова, парки...

Добавлено: 27 янв 2009, 03:00
Vadim_O
В этом сообщении рассмотрим вопрос правильного однозначного рисования одного объекта типа полигон, внутри другого объекта с типом полигон.
Пример ситуаций на карте - дом(а) на квартале, озеро в лесу, ставок в парке, зом в парке и т.д.

для удобства использовалась бесплатная версия редактора MapEdit ++ (с некоторыми расширенными функциями, по сравнению с версией оригинала - GPSMapEdit)
можно взять здесь:
http://sourceforge.net/projects/gmeaddons/

Еще возможно понадобиться установить дополнительные библиотеки для MapEdit++, их можно взять здесь:
http://travelgps.com.ua/soft/vcredist_x86.zip


1. рисуем полигон парка, для примера

Изображение

2. рисуем прямоугольник, выбираем инструмент

Изображение

3. попробуйте сами

Изображение

4. присваиваем тип объекту

Изображение

5. выбираем сначала полигон из которого будет вычитаться область другого полигона

Изображение

выбрали, нажали Shift, и не отпуская клавишу Shift выбираем, тот объект, под который будет вырезаться дырка.

Изображение

Делаем операцию вычитание полигонов
Можно/нужно проверить что ничего не напутали и все получилось правильно.

Изображение

смотрим на результат - выделяется только парк

Изображение

для того чтобы не было дырки надо выполнить опцию
Merge inner polygons - соединить с внутренними

Изображение

смотрим что получилось
Изображение

и видим правильный результат
Изображение

Добавлено: 28 янв 2009, 23:38
Vadim_O
Добавил ссылку на сборник библиотек, для тех у кого не запускался MapEdit++

Добавлено: 31 янв 2009, 12:02
bair
Создавал острова обрисовыая его полигоном "Река". Результат тот же, но затрат времени было больше. Начал по предложенной методике вырезать дома ( здания больниц, школ на зелёных полигонах) и столкнулся с другой проблеммой. После операции "Соединить с внутренними" ( когда много зданий, и многие приходятся на край вырезаемого полигона) создавалось самопересечение полигона. И приходится теперь править вновь образованный полигон. Итог: убрал проблему наложения полигонов, а получил самопересечение.

Добавлено: 31 янв 2009, 13:43
Vlad_UA
bair писал(а):многие приходятся на край вырезаемого полигона)
Ну, теперь знаешь, что не нужно делать дома на краю другого полигона. Нужно, чтобы они полностью попадали. Лично я так всегда делал чисто интуитивно.

Re: Полигон на полигоне - как правильно делать острова, парк

Добавлено: 25 фев 2012, 12:25
z-yurets
Здравствуйте. Заметил такую странность по теме: примерно в половине случаев после вырезания (командой Вычитание полигонов или Соединить с внутренним - не важно) при выделении внешнего полигона на внутреннем тоже рисуется сеточка выделения как будто он просто расположен поверх внешнего, но контур выделения вокруг него рисуется как положено

Изображение

Если же сдвинуть внутренний полигон в сторону, то под ним во внешнем дырка есть

Изображение

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