На главную страницу

Логические операции с полигонами

Под логическими операциями понимаются операции, подобные операциям над битами (байтами) в булевой алгебре. Это операции И (AND), ИЛИ (OR), НЕ (NOT), ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR). Результаты логических операций с полигонами показывают следующие рисунки.

Имеются два полигона: звезда и круг. Здесь subject - полигон, относительно которого проводится логическая операция, clip - второй полигон, участвующий в логической операции.

Применим к этим полигонам логическую операцию И. Зелёным цветом показан результат логической операции. Таким образом, в результат войдут области, принадлежащие одновременно обоим полигонам.

Применим к полигонам логическую операцию ИЛИ. Видно, что в результат вошли области, принадлежащие любому из полигонов.

Применим к полигонам логическую операцию НЕ. Результат - области, принадлежащие первому полигону, но не принадлежащие второму. Здесь важно, какой из полигонов имеет статус subject, а какой - clip.

Применим к полигонам логическую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ. Результат - области, принадлежащие только одному из полигонов. Если полигоны не пересекаются, результат будет идентичен результату логической операции ИЛИ.

Кроме описанных логических операций в программе имеется ещё одна операция Group. Она идентична операции ИЛИ, но с одним отличием: если полигоны пересекаются, результатом операции ИЛИ является один новый полигон, а результатом операции Group являются по-прежнему два полигона. Если полигоны не пересекаются, результаты обеих операций одинаковы.

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

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

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

Затем, зажав клавишу Ctrl, щёлкнуть по первому полигону. С левой стороны экрана откроется панель Слияние полигонов. Панель можно растягивать по горизонтали, а также делать постоянно видимой или убирать с экрана через меню Вид→Панели.

Если несколько полигонов накладываются друг на друга в точке щелчка мышью, то все они будут добавлены в список. «Лишние» полигоны можно либо удалить из списка средствами рассматриваемой панели, либо предварительно отключить в окне Управления метками.

Первому выбранному полигону автоматически присваивается статус subject. В круглых скобках указывается, одиночный это полигон (Single), или мультиполигон (вероятно, Multi).

Затем, также с зажатой клавишей Ctrl, щёлкнуть по второму полигону. Он автоматически добавится в список, но уже со статусом clip. Аналогично в список добавляются все последующие полигоны.

Панель Слияние полигонов имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо.

Изменить порядок следования полигонов в списке, а, значит, и их статусы, можно кнопками стрелка вверх и стрелка вниз. Первый по списку полигон всегда получает статус subject.

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

Кнопка с большим красным крестом полностью очищает список полигонов.

Выпадающий список содержит все доступные логические операции с полигонами.

Кнопка с зелёной «галкой» служит для подтвержения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции.

Следующая кнопка служит для вызова окна Операции с выделенной областью.

Кнопка с изображением дискеты сохраняет результат в базе меток.

В окне сообщения о результате логической операции указывается общее количество созданных полигонов и «дырок».