Мегаобучалка Главная | О нас | Обратная связь


Борьба с вложенностью объектов



2015-12-06 357 Обсуждений (0)
Борьба с вложенностью объектов 0.00 из 5.00 0 оценок




При всёй простоте создания объектов, есть одна очень важная вещь, о которой всегда следует помнить. Это порядок распределения полигонов в зависимости от их площади. Эту зависимость мы уже знаем. Теперь надо каким-то образом определить пути, которые позволят нам избежать проблем с их неправильным распределением.

Первым на очереди идёт самый сложный случай - наложение двух полигонов, когда ни один из них не вписан в другой. Почему самый сложный? Потому что в данном случае придётся всё делать руками. Ничего не поделать - остаётся только инструмент "Move points". Самый идеальный случай расположения соприкасающихся объектов, это когда количество узлов в месте соприкосновения одинаково и эти узлы расположены в одних и тех же координатах у обоих полигонов. Но попасть "один-в-один" достаточно проблематично. Неужели нам так никто и не поможет? Помощник найдётся. Давайте вспомним настройку программы. Одним из пунктов там была функция "Stick to neighbours" которую можно вольно перевести как "Прилипать к ближайшим узлам". Если включить эту функцию, то вокруг перемещаемого или вновь создаваемого узла образуется как бы "поле притяжения" и, оказываясь около ближайшего узла соседнего объекта, этот узел фактически притягивается к другому. Причём всегда притягивается именно выделенный узел, а не тот, который принадлежит другому объекту. Таким образом, при достаточной усидчивости, можно сделать идеальное соприкосновение двух объектов.

Другим способом является анализ или искуственное увеличение одного объекта относительно другого. Каким образом это происходит. Например у Вас есть задача очертить береговую линию. Встаёт резонный вопрос - с чего начать. Всего два варианта - с моря или с берега. В данном случае следует внимательно посмотреть и примерно оценить площадь того и другого. В большинстве случаев площадь моря больше площади береговой черты. Поэтому если мы обведём очертания берега с помощью полигона, обозначающего море, а затем нарисуем берег с перекрытием на море, то так как меньшим будет полигон "Берег", он окажется сверху и закроет очертания берега. Если мы сделаем наоборот - очертим берег с помощью полигона "Берег" а потом нарисуем полигон "Море" с перекрытием на часть берега, то в этом случае очертание берега будет сверху.

 

 

На этом примере можно увидеть как именно это происходит. На левом рисунке карта выглядит чётко разделённой , но на самом деле полигон "Море" перекрывает часть полигона "Берег". Просто первый полигон больше другого и получается так, как надо.

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

 

 

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

 

 

Единственное, что обязательно надо сделать перед корректировкой узлов, это дать команду генерализации. Это позволит быть уверенным, что все узлы стоят на своих местах и никуда не передвинутся.

Другим случаем является полное вложение одного объекта в другой. Для примера возьмём остров на рисунке выше. В этом случае наши действия будут следующими. Сначала сделаем генерализацию. после этого выделим объект "Остров" и скопируем его в буфер обмена. Затем выделите больший объект и, удерживая клавишу Shift, вложенный. Окажутся выделенными оба объекта. Далее примените команду "Join objects". В результате этой команды внутренний полигон вырежется из другого. После всего этого нам останется только вставить обратно из буфера обмена наше озеро.

 

 

С первого взгляда ничего, по сравнению с изначальным вариантом, не изменилось. Однако в последнем случае мы уже не имеем вложенных объектов. Этот вариант будет при любой нарезке отображаться правильно. Этот способ является достаточно простым и универсальным.

Но сохранить в таком виде файл в формате RUS не получится. Поэтому стоит сразу применить команду "Merge inner poligons". После этого у объекта "Море" произойдёт соединение внутренней области с внешней. При этом возникает чётко видимая перемычка между ними. Посмотрите внимательно, и Вы поймёте как это произошло. На карте в программе Руса эта перемычка не видна.

 



2015-12-06 357 Обсуждений (0)
Борьба с вложенностью объектов 0.00 из 5.00 0 оценок









Обсуждение в статье: Борьба с вложенностью объектов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (357)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)