SASGIS

Веб-картография и навигация

SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


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

Это старая версия документа.


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

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

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

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

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

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

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

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

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

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

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

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

  1. Щёлкнуть на нужном полигоне левой кнопкой мыши, зажав клавишу Ctrl.
  2. Щёлкнуть на нужном полигоне правой кнопкой мыши и в контекстном меню выбрать Добавить к Слиянию полигонов.
  3. В Менеджере меток выделить один или (используя Ctrl или Shift) несколько полигонов, щёлкнуть правой кнопкой мыши, в контекстном меню выбрать Добавить к Слиянию полигонов.
  4. В Менеджере меток выделить Категорию меток, щёлкнуть правой кнопкой мыши, в контекстном меню выбрать Добавить к Слиянию полигонов. В данном случае добавлены будут только видимые полигоны.

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

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

Первому в списке полигону автоматически присваивается статус subject.

Остальным полигонам в списке присваивается статус clip.

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

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

  • Изменить порядок следования полигонов в списке, а, значит, и их статусы, можно кнопками стрелка вверх и стрелка вниз. Первый по списку полигон всегда получает статус subject.
  • Кнопка с красным знаком минус позволяет удалить выделенный полигон из списка.
  • Кнопка с большим красным крестом полностью очищает список полигонов.
  • Выпадающий список содержит все доступные логические операции с полигонами.
  • Кнопка с зелёной «галкой» служит для подтверждения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции.
  • Следующая кнопка служит для вызова окна Операции с выделенной областью.
  • Кнопка с изображением дискеты сохраняет результат в базе меток.

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

Перевод этой страницы: