SASGIS

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

SAS.Wiki

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

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

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


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

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

логические_операции_с_полигонами [10/05/2015 14:32]
109.94.188.121
логические_операции_с_полигонами [09/04/2021 11:59] (текущий)
176.59.16.190 pac
Строка 3: Строка 3:
 ====== Логические операции с полигонами ====== ====== Логические операции с полигонами ======
  
-Под логическими операциями понимаются операции,​ подобные операциям над битами (байтами) в булевой алгебре. Это операции **И (AND)**, **ИЛИ (OR)**, **НЕ (NOT)**, **ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)**. Результаты логических операций с полигонами показывают следующие рисунки.+Под логическими операциями понимаются операции,​ подобные операциям над битами (байтами) в булевой алгебре. Это операции **И (AND** или **Intersection)**, **ИЛИ (OR** или **Union)**, **НЕ (NOT** или **Difference)**, **ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)**. Результаты логических операций с полигонами показывают следующие рисунки.
  
 Имеются два полигона:​ звезда и круг. Здесь **subject** - полигон,​ относительно которого проводится логическая операция,​ **clip** - второй полигон,​ участвующий в логической операции. Имеются два полигона:​ звезда и круг. Здесь **subject** - полигон,​ относительно которого проводится логическая операция,​ **clip** - второй полигон,​ участвующий в логической операции.
Строка 25: Строка 25:
 {{:​xor.png?​200|}} {{:​xor.png?​200|}}
  
-Кроме описанных логических операций в программе имеется ещё одна операция **Group**. ​Она идентична операции **ИЛИ**, но с одним отличием: если полигоны пересекаются, результатом операции **ИЛИ** является один новый полигон,​ а результатом операции **Group** являются по-прежнему два полигона. Если полигоны не пересекаются, результаты обеих операций одинаковы.+Кроме описанных логических операций в программе имеется ещё одна операция **Group**. ​Визуально она идентична операции **ИЛИ**, но есть значительные отличия.
  
-В логических операциях может участвовать любое количество полигонов. ​Нужно лишь учитывать,​ что логическая операция ​с каждым последующим полигоном из списка проводится не над результатом предыдущей операцииа над ​первым в списке полигоном (**subject**).+Если полигоны пересекаются, результатом ​операции **ИЛИ** будет **один** новый полигон,​ а результатом операции **Group** будут по-прежнему **несколько** полигонов, условно объединённых в мультиполигон. Мультиполигон может содержать любое количество полигонов. ​Свойства всех полигонов,​ входящих в мультиполигон, одинаковы. Все они одновременно выводятся на экран, используются в качестве выделенной области и т. д. 
 + 
 +Если полигоны не пересекаются,​ результаты операций **ИЛИ** и **Group** будут одинаковы. 
 + 
 +Также следует ​учитывать,​ что ​при всех ​логических операциях, кроме **Group**, ​происходит некоторое "​округление"​ координат вершин ​полигонов, из-за чего полученные новые полигоны будут иметь вершины,​ не совсем совпадающие с вершинами исходных ​полигонов. Более того, в некоторых случаях (в основном при самопересечениях полигона) возможно образование так ​называемых "дырок". Дырка - это ​замкнутый полигон,​ находящийся внутри другого замкнутого ​полигона. //На сегодняшний день ​дырки программой не обрабатываются,​ то есть игнорируются,​ однако их количество считается и указывается в сообщении о завершении логической операции.// 
 + 
 +В случае операции **Group** координаты вершин никаких изменений не претерпевают, ​поэтому операция **Group** выполняется быстрее,​ чем **ИЛИ**. В результате операции **Group** дырки не образуются.
  
 Результаты логических операций могут быть использованы для //​**Операций с выделенной областью**//,​ то есть для загрузки,​ копирования,​ удаления,​ экспорта и пр. Кроме того, результаты могут быть сохранены в базе меток для последующего использования. Результаты логических операций могут быть использованы для //​**Операций с выделенной областью**//,​ то есть для загрузки,​ копирования,​ удаления,​ экспорта и пр. Кроме того, результаты могут быть сохранены в базе меток для последующего использования.
  
-Для проведения логических операций с полигонами следует прежде всего ​отобразить ​нужные полигоны ​на экране. Это делается в окне //**Управление метками**//.+В логических операциях может участвовать любое количество полигонов. Нужно лишь учитывать,​ что логическая операция с каждым последующим полигоном из списка проводится не над результатом предыдущей операции,​ а над первым в списке полигоном (**subject**). 
 + 
 +Для проведения логических операций с полигонами следует прежде всего ​добавить ​в список ​участвующие полигоны. Это ​можно сделать четырьмя способами:
  
-Затем, зажав клавишу **Ctrl**, щёлкнуть ​по первому полигону. С левой ​стороны экрана ​откроется панель //**Слияние полигонов**//Панель ​можно **растягивать** по горизонтали, а также делать ​постоянно видимой или убирать с экрана через меню ​//**Вид**->**Панели**//.+  - Щёлкнуть на нужном полигоне левой кнопкой ​мыши, зажав клавишу **Ctrl**
 +  - Щёлкнуть ​на нужном полигоне ​правой ​кнопкой мыши и в контекстном меню выбрать **Добавить к Слиянию полигонов**. 
 +  - В Менеджере меток выделить один или (используя **Ctrl** или **Shift**) несколько ​полигонов, щёлкнуть правой кнопкой мыши, в контекстном меню выбрать ​**Добавить к Слиянию полигонов**. 
 +  - В Менеджере ​меток выделить ​Категорию меток, щёлкнуть правой кнопкой мыши, в контекстном ​меню ​выбрать ​**Добавить к Слиянию полигонов**. В данном случае добавлены будут только видимые полигоны.
  
 Если несколько полигонов накладываются друг на друга в точке щелчка мышью, то все они будут добавлены в список. "​Лишние"​ полигоны можно либо удалить из списка средствами рассматриваемой панели,​ либо предварительно отключить в окне //​**Управление метками**//​. Если несколько полигонов накладываются друг на друга в точке щелчка мышью, то все они будут добавлены в список. "​Лишние"​ полигоны можно либо удалить из списка средствами рассматриваемой панели,​ либо предварительно отключить в окне //​**Управление метками**//​.
  
-{{:окно_лоп.png|}}+С левой стороны экрана откроется панель //​**Слияние полигонов**//​ (если она ещё не открыта). Панель можно **растягивать** ​по горизонтали,​ а также делать постоянно видимой или убирать с экрана через меню //​**Вид**->​**Панели**//​.
  
-Первому выбранному полигону автоматически ​присваивается статус **subject**. В круглых скобках указывается,​ одиночный это полигон (**Single**),​ или мультиполигон (вероятно,​ **Multi**).+{{:лоп.png?​nolink|}}
  
-Затем, также ​с зажатой ​клавишей **Ctrl**, щёлкнуть по второму ​полигону. Он автоматически ​добавится в список, но уже со статусом **clip**. Аналогично в список добавляются все последующие полигоны.+Первому в списке полигону автоматически ​присваивается статус **subject**.
  
-{{:окно_лоп1.png|}}+Остальным полигонам в списке присваивается статус **clip**. 
 + 
 +В круглых скобках указывается,​ одиночный это полигон (**Single**),​ или мультиполигон (**Multi**). 
 + 
 +{{:лоп1.png?nolink|}}
  
 Панель **Слияние полигонов** имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо. Панель **Слияние полигонов** имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо.
Строка 55: Строка 70:
   * Выпадающий **список** содержит все доступные логические операции с полигонами.   * Выпадающий **список** содержит все доступные логические операции с полигонами.
  
-  * Кнопка с **зелёной "​галкой"​** служит для подтвержения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции.+  * Кнопка с **зелёной "​галкой"​** служит для подтверждения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции.
  
   * Следующая кнопка служит для вызова окна //​**Операции с выделенной областью**//​.   * Следующая кнопка служит для вызова окна //​**Операции с выделенной областью**//​.
Строка 61: Строка 76:
   * Кнопка с изображением **дискеты** сохраняет результат в базе меток.   * Кнопка с изображением **дискеты** сохраняет результат в базе меток.
  
-{{:окно_лоп2.png|}}+{{:​лоп2.png?nolink|}} 
 + 
 +В окне сообщения о результате логической операции указывается общее количество созданных полигонов и "​дырок"​. Если в результате логической операции получилось более одного полигона,​ то в базе меток они будут сохранены как мультиполигон. 
 + 
 + 
 +Допустить 
 +мы, что из нас  
 +интересуют снимки,​  
 +покрывающие части лицевой формы
  
-В окне сообщения о результате ​логической операции указывается общее количество созданных полигонов и "​дырок"​.+ а полигон, описывающий нужный снимок - как **clip**, и применить логическую операцию **НЕ**.