SASGIS

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

SAS.Wiki

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

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

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


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

Различия

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

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

логические_операции_с_полигонами [10/05/2015 14:18]
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).+С левой стороны экрана откроется панель //​**Слияние ​полигонов**// (если ​она ещё не открыта). Панель можно **растягивать** по горизонтали, а также делать постоянно видимой или убирать с экрана через меню //​**Вид**->​**Панели**//​.
  
-Затем, также с зажатой клавишей **Ctrl**, щёлкнуть по второму ​полигону. Он автоматически добавится в список,​ но уже со статусом **clip**. Аналогично в список добавляются все последующие полигоны.+{{:лоп.png?​nolink|}}
  
-{{:окно_лоп1.png|}}+Первому в списке полигону автоматически присваивается статус **subject**. 
 + 
 +Остальным полигонам в списке присваивается статус **clip**. 
 + 
 +В круглых скобках указывается,​ одиночный это полигон (**Single**),​ или мультиполигон (**Multi**). 
 + 
 +{{:лоп1.png?nolink|}}
  
 Панель **Слияние полигонов** имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо. Панель **Слияние полигонов** имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо.
Строка 55: Строка 70:
   * Выпадающий **список** содержит все доступные логические операции с полигонами.   * Выпадающий **список** содержит все доступные логические операции с полигонами.
  
-  * Кнопка с **зелёной "​галкой"​** служит для подтвержения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции.+  * Кнопка с **зелёной "​галкой"​** служит для подтверждения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции.
  
   * Следующая кнопка служит для вызова окна //​**Операции с выделенной областью**//​.   * Следующая кнопка служит для вызова окна //​**Операции с выделенной областью**//​.
Строка 61: Строка 76:
   * Кнопка с изображением **дискеты** сохраняет результат в базе меток.   * Кнопка с изображением **дискеты** сохраняет результат в базе меток.
  
-{{:окно_лоп2.png|}}+{{:​лоп2.png?nolink|}} 
 + 
 +В окне сообщения о результате логической операции указывается общее количество созданных полигонов и "​дырок"​. Если в результате логической операции получилось более одного полигона,​ то в базе меток они будут сохранены как мультиполигон. 
 + 
 + 
 +Допустить 
 +мы, что из нас  
 +интересуют снимки,​  
 +покрывающие части лицевой формы
  
-В окне сообщения о результате ​логической операции указывается общее количество созданных полигонов и "​дырок"​.+ а полигон, описывающий нужный снимок - как **clip**, и применить логическую операцию **НЕ**.