Аналитика
http://www.geosystema.net/forum/

Можна ли улучшить функцию "ПЕТЛЯ"?
http://www.geosystema.net/forum/viewtopic.php?f=1&t=61
Страница 1 из 1

Автор:  pola [ 25 май 2005 23:56 ]
Заголовок сообщения:  Можна ли улучшить функцию "ПЕТЛЯ"?

К сожаленю, для создания обменников .in4 нельзя исползовать ф-цию "СЛОЖНЫЙ ПОЛИГОН". Приходится пользоваться ф-цией "ПЕТЛЯ".
Но при этом образуются неэстетичные линии, к-рые тянутся к внутренним полигонам.
НЕЛЬЗЯ ЛИ сделать так, чтоб при использовании ф-ции "ПЕТЛЯ" всем линиям, образующим собственно петлю присваивался атрибут "невидимая"?
Ведь вручную это сделать не очень просто - попробуйте!
Или есть другой выход? Кто-нибудь боролся с этим?

Автор:  Dmitriy Fedorov [ 26 май 2005 20:23 ]
Заголовок сообщения: 

Я бы предложил более радикальное решение.

Почему бы, к примеру, не работать в среде дигитала только сложными полигонами, т.е. вырезать всё по человечески, как принято в ГИС системах, а не с помощью петель, как в убогом ин4?
А петли формировать из них на этапе сохранения в ин4, благо, это совершенно не сложно.

И все бы работало прекрасно, если бы не некоторые но: (!)

- Сложные полигоны обрабатываются не всегда понятным и привычным образом (см. соответствующие темы о вырезании дырок, объединении и т.п.).
- Сложные полигоны НЕ контролируются на вложенность на закладке Список, что бывает жутко неудобно.

Посему, увы и ах.

Автор:  Sergey Oleynik [ 30 май 2005 16:19 ]
Заголовок сообщения: 

Да, это требование сбора всех угодий петлями в In4 действительно редкостная дурь. Как будто для какой-нибудь программы представляет сложность вычесть из внешнего контура площадь внутренних?! :?

К сожалению задача корректного обхода петлей всех внутренних объектов без самопересечений не такая простая.
Digitals начинает строить петлю с первой точки внешнего контура, но если замаркировать какую-либо точку, то тогда начнет петлю с нее. Иногда это помогает "подсказать" программе лучший вариант построения (хоть это и не панацея).

А по поводу невидимых линий. Какой в них смысл если в In4 они все равно не попадут? А кроме как для In4 эти петли никому и не нужны вроде бы.

Автор:  Dmitriy Fedorov [ 30 май 2005 20:01 ]
Заголовок сообщения:  Re: Можна ли улучшить функцию "ПЕТЛЯ"?

Однако, пока проблема не будет решена радикально, предлагается такой вариант борьбы с некрасивыми пересекающимися петлями:

pola писал(а):
НЕЛЬЗЯ ЛИ сделать так, чтоб при использовании ф-ции "ПЕТЛЯ" всем линиям, образующим собственно петлю присваивался атрибут "невидимая"?


Вариант вполне рабочий:
- петли создаются
- их НЕ видно при печати (как и на Полном виде)
- в ин4 всё сохраняется как надо, проверено.

Таким образом, предлагается делать невидимой всю часть контура, которая является петлёй. Т.е. уходим от начальной точки внутрь с атрибутом невидимая, обходим все внутренние петлей, а затем при выходе на внешний контур восстанавливаем видимость.

Красота требует жертв! :)

Автор:  pola [ 30 май 2005 20:15 ]
Заголовок сообщения:  петли

Потому и предлагаю "усовершенствовать" петлю, что нерационально создавать 2 варианта угодий (для *.in4-петли и для печати-сложные полигоны). Считаю, что несложно будет реализовать "невидимость" линий, составляющих петлю :roll:

Спасибо, Dmitriy Fedorov, за поддержку.

Автор:  Sergey Oleynik [ 31 май 2005 14:32 ]
Заголовок сообщения: 

Ну, уговорили :) Качайте новую версию, пробуйте.

Автор:  Anton Gorpynich [ 01 июн 2005 08:09 ]
Заголовок сообщения: 

Хочу высказать свое скромное мнение. 8) Или скорее предостережение от непоняток, которые могут возникнуть при использовании невидимых линий. Проблема в том, что эти линии, хоть и не видимы, но будут использоваться при некоторых операциях на ряду в видимыми, например при создании полигона. Поэтому, мне кажется, что не следует увлекаться петлями, а в большинстве случаев использовать Сложный полигон.
В идеале, лучше всего ограничиться петлями только для сохранения в IN4. Кроме того, невидимость пропадет если вы сохранили файл в IN4 и затем снова открыли этот файл в Digitals...

Автор:  Скачков Алексей [ 06 июл 2005 17:10 ]
Заголовок сообщения: 

Цитата:
...а в большинстве случаев использовать Сложный полигон


Антон, опиши пожалуйста объект "сложный полигон" - что он из себя представляет (как определяется Дигиталс и другими программами после експорта; как проводит расчёт собственной площади и т.д.).

Автор:  Anton Gorpynich [ 08 июл 2005 08:48 ]
Заголовок сообщения: 

Сложный полигон - это последовательность полигонов, которые находятся в одном объекте и разделяются через разрыв. При чем, первым идет внешний полигон, а затем - все внутренние относительно первого. Такую структуру объекта проще всего получить используя кнопку Сложный полигон на закладке Правка. Для этого помечаем только внешний полигон, внутренние же будут найдены программой. В результате, вместо внешнего полигона получаем сложный полигон, а внутренние остаются и при необходимости удаляются.
Площадь сложного полигона равна площади внешнего полигона минус сумма площадей всех внутренних. Т.е. эффект тот же, что и у петли, но отсутствуют "лишние" линии и гораздо проще получить отдельные полигоны - нажатием кнопки Разделить. Кроме того, при помощи сложного полигона можно получить так называемые дырки. Т.е. если у данного слоя есть заливка, то внутренние полигоны заливаться не будут.
Конечно же, чтобы получить сложный полигон можно объединять полигоны кнопкой Соединить или же использовать разрыв при сборе полигонов, но если не соблюдаеть правильную последовательность полигонов (внешний - всегда первый), то площадь будет вычисляться некорректно.

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/