Линейное распределение - это алгоритм компоновки схемы, которую можно применить к любому типу схем.
Этот алгоритм компоновки также разделяет ребра схемы, подключенные к целевым соединениям. Учитывается валентность этих соединений, т.е. число смежных ребер и пути ребер можно сохранять.
Этот алгоритм компоновки особенно подходит для водоснабжения, канализации и в газовых сетей, но может применяться и в других отраслях.
Данный алгоритм увеличивает промежутки между соединениями схемы, которые визуально расположены слишком близко, перекрываются или совпадают. Он перемещает соединения вдоль связанных с ними ребер. Перемещение вдоль ребер зависит от текущего и относительного положения соединений и параметров компоновки.
На изображении ниже показаны примеры схемы до и после применения компоновки Линейное распределение:
Примените компоновку Линейное распределение к активному виду карты-схемы
При применении этой компоновки на схеме сети необходимо выполнить следующие предварительные условия:
- Поскольку эта операция является транзакционной, необходимо сохранить правки до ее запуска.
- Входной слой схемы сети, к которому применяется компоновка, должен происходить из инженерной сети или сети трассировки файловой или мобильной базы геоданных или сервиса схемы сети. При работе с инженерной сетью или сетью трассировки в многопользовательской базе геоданных входной слой схемы сети должен браться из сервиса.
Для того чтобы применить компоновку Линейное распределение к активному виду карты-схемы, выполните одно из следующего:
- На вкладке Схема сети щелкните стрелку ниспадающего меню у кнопки Компоновки схемы в группе Компоновка и щелкните Линейное распределение в галерее.
- Загрузите инструмент Применить компоновку Линейное распределение на панели Геообработка, настройте параметры компоновки Линейное распределение и щелкните Запустить.
Примечание:
Чтобы применить алгоритм компоновки к поднабору объектов схемы сети, используйте для выбора объектов один из инструментов Выбрать объекты (например, Выбрать по прямоугольнику, Выбрать по полигону и так далее) и выберите объекты схемы перед запуском.
Настройка компоновки Линейное распределение для шаблона схемы
Для настройки этой компоновки для шаблона схемы используйте инструмент Добавить компоновку Линейное распределение.
Параметры компоновки Линейное распределение
В разделах ниже поясняется принцип работы основных параметров компоновки схемы Линейное распределение.
Сохранить компоновку контейнера
Большинство алгоритмов компоновки работает с опцией Сохранить компоновку контейнера. Когда эта опция включена, она позволяет вам управлять приложением алгоритма, чтобы он выполнялся на верхнем графе схемы. При отключении этой опции, алгоритм применяется как к объектам содержания, так и ко всем остальным объектам схемы.
Значения интервалов, которые принимаются как абсолютные единицы в системе координат схемы
Некоторые алгоритмы компоновки работают с опцией Значения интервалов, которые принимаются как абсолютные единицы в системе координат схемы. Эта опция задает способ интерпретации параметров компоновки, представляющих расстояния:
- Отмечено – алгоритм компоновки будет интерпретировать любые значения расстояний в линейных единицах.
- Не отмечено - алгоритм компоновки будет интерпретировать любые значения расстояний как относительные единицы к установленному среднему размеру соединений в текущем экстенте схемы. Используется по умолчанию.
Размещение соединений = Равное расстояние
При запуске Линейного распределения с Размещением соединений = Равное расстояние все соединения с двумя связанными ребрами будут перемещены таким образом, чтобы расстояния между ними и их двумя связанными соединениями были равны.
На изображении ниже показаны равные расстояния, вычисленные для определения позиций трех соединений схемы с двумя связями, представленными в исходной схеме; эти соединения показаны желтыми кругами:
Размещение соединений = Расстояние, заданное пользователем
При запуске Линейного распределения с Размещением соединений = Расстояние, заданное пользователем все соединения с двумя связанными ребрами будут перемещены таким образом, чтобы расстояние между ними другими концами ребер, к которым они соединяются, было минимальным.
Минимальный сдвиг
Этот параметр описывает минимальное расстояние, которое будет разделять соединения с двумя связанными ребрами в схеме после запуска компоновки.
На изображении ниже показано расстояние Минимального сдвига D, которое использовалось для вычисления позиций трех соединений схемы с двумя связями, представленными в исходной схеме; эти соединения показаны желтыми кругами. Поскольку желтое соединение внизу уже находится на расстоянии D от оранжевого соединения, с которым оно связано, оно не перемещается. Однако другое соединение синего цвета, к которому он подключен в другом направлении, перемещается, чтобы расстояния между ним и желтым соединением стало минимальным. Два других желтых соединения в левой и правой частях схемы перемещены вдоль ребер схемы, с которыми они связаны, чтобы появилось расстояние минимального сдвига D между ними и двумя другими связанными соединениями:
Размещение соединений = Итеративное расстояние
При запуске Линейного распределения с Размещением соединений = Итеративное расстояние все соединения с двумя связанными ребрами будут немного перемещены в соответствии с параметрами Число итераций и Максимальный сдвиг. На изображениях ниже показаны разные компоновки исходной схемы перед запуском Линейного распределения с итеративным расстоянием и применением разного количества итераций:
Число итераций
Этот параметр указывает количество итераций для обработки.
Максимальный сдвиг
Этот параметр используется для определения максимального расстояния, на которое могут быть отнесены соединения с двумя подключениями от соединений, к которым они подключаются. При достижении указанного расстояния соединения при следующих итерациях более не двигаются.
Сохранять путь
Параметр Сохранять путь определяет способ обработки вершин вдоль ребер схемы:
- Отмечено – все вершины вдоль соединенных ребер будут сохранены, в места начального положения перемещенных соединений будут добавлены новые вершины.
- Не отмечено – вершины вдоль связанных ребер не будут сохранены.
Переместить листья
Параметр Переместить листья определяет, могут ли соединения листьев (соединения с одним подключением) перемещаться во время работы алгоритма:
- Отмечено - соединения листьев будут перемещены.
- Не отмечено – соединения листьев не перемещаются.
На изображении ниже показаны различия между этими двумя режимами обработки. Без перемещения листьев ни одно из оранжевых соединений листьев не будет перемещено при выполнении алгоритма Линейное распределение. При запуске алгоритма с отмеченной опцией Переместить листья, три из оранжевых соединений листьев, показанных на схеме, останутся в горизонтальном положении, чтобы соответствовать размещению синих соединений, к которым они подключены и на которых оказывает влияние процесс линейного распределения:
Растянуть листья
Параметр Растянуть листья определяет, могут ли соединения листьев (соединения с одним подключением) растягиваться во время выполнения алгоритма:
- Отмечено - соединения листьев будут растягиваться. Параметр Максимальный сдвиг растяжения определяет максимальное расстояние, но которое соединения листьев могут растягиваться относительно соединений, к которым они присоединены.
- Не отмечено – соединения листьев не будут растягиваться.
На изображении ниже показаны различия между этими двумя режимами обработки. Без растяжения листьев ни одно из оранжевых соединений листьев не будет растянуто при выполнении алгоритма Линейное распределение. При запуске алгоритма с отмеченной опцией Растянуть листья два оранжевых соединения листьев на схема, которые подключены к синим соединениям, будут растянуты в ходе процесса линейного распределения. Третье оранжевое соединение листьев, которое также связано с синим соединением, перемещено не будет, поскольку расстояние между этими двумя соединениями и так больше, чем указано в значении параметра Максимальный сдвиг растяжения.