SASGIS

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

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

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

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

Сообщение Papazol » 04 июн 2015, 13:47

zed писал(а):C какой стати, это должно быть понятно мне, что для вас это понятно, когда вы всюду говорите Group и дырки? Да, при логической операции ИЛИ там будут дырки. Но вы зачем-то начали обсуждать Group и скриншоты с ним приводить. Эти же дырки в логичеких операциях вы ещё постом выше уже были нашли и скриншоты приложили. И вдруг опять про них разговор, но уже для Group.

А всё началось с Ваших слов "Но заметьте, что у вас ИЛИ дало 3 дырки." Если бы не они, я бы просто забил на эти дырки. Но раз "заметьте", я стал ковыряться. Если происхождение двух дырок стало ясно сразу, то третью пришлось поискать плюс попытаться определить, что это именно та дырка. Тут в чём прикол? Дырки не поддерживаются, не отрисовываются, но считаются. Поэтому их приходится искать глазами, иногда используя хитрость, заключающуюся в применении операции Group вместо ИЛИ. Если применять эти логические операции к одним и тем же полигонам, то получается удобно для рассматривания и обнаружения. Потому что при ИЛИ места дырок закрашены, а при Group - нет. В процессе этого рассматривания вопросы и возникли.
zed писал(а):А как ещё можно понять слова, что "геометрия полигонов никак не изменяется"?

Это можно понять, например, так, что координаты узлов полигонов остаются неизменными - и всё. Вообще, это вопросы терминологии. Вот сейчас мне всё понятно, а раньше это было неочевидно, потому что в сообщении о завершении логической операции Group слова о количестве дырок присутствуют, они как бы намекают...

Важно не то, что при Group дырки вообще не образуются, а то, что при ИЛИ (и при других тоже!) они могут образоваться. Поэтому следует как-то определить условия, при которых возможно образование дырок, чтобы это не становилось неожиданным. Конечно, когда дырки будут отрисовываться (надеюсь), их обнаружение труда не составит, а сейчас вот так.

Если исходить из данного выше определения дырки, то в процессе логической операции образуется замкнутый полигон (дырка), находящийся внутри другого замкнутого полигона (исходного). У первого замкнутого полигона (дырки) должны быть узлы, а у узлов - координаты. Сейчас, я понимаю, эти узлы вместе со своими координатами просто отбрасываются? То есть, полигон дырки существует, но только в памяти (ОЗУ)?

Возможно, я слишком углубился в эти дырки, и всё это зря, потому что никакой практической пользы сейчас от этого нет. Разве что знания.
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 647 раз.

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

Сообщение zed » 04 июн 2015, 14:30

Papazol писал(а):А всё началось с Ваших слов "Но заметьте, что у вас ИЛИ дало 3 дырки."

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

Ну, до тех пор, пока исходные полигоны не содержат дырок (и когда я говорю "дырок", я всегда имею в виду настоящие дырки, а не самопересечения), там всегда будет ноль. Но как только появится поддержка дырок и вы захотите применить Group к полигонам, у которых дырки уже есть, в том сообщении будет указано общее количество дырок для всего мультиполигона. Так что по-хорошему, при логических операциях будут образовываться новые дырки, будут несколько существующих дырок от разных полигонов объединиться в одну (при пересечении) или суммироваться, если они никак не пересекаются. При Group же будет только суммирование имеющихся дырок. Естественно, суммирование - только в статистике, а так это будут самостоятельные дырки, принадлежащие своим полигонам.
Papazol писал(а):Сейчас, я понимаю, эти узлы вместе со своими координатами просто отбрасываются? То есть, полигон дырки существует, но только в памяти (ОЗУ)?

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

Думаю не зря. Будет фундаментальное понимание сущности дырок, будет проще в будущем.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9