Применить компоновку Линейное распределение (Схема сети)

Сводка

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

Более подробно об алгоритме компоновки Линейное распределение

Внимание:

Если вы открыли сеанс редактирования, вы должны сохранить изменения перед запуском этого инструмента. Это гарантирует, что схема отразит последние изменения, внесенные в топологию сети в базе данных. Если вы не сохранили изменения, то изменения не появятся в схеме.

Примечание:

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

Использование

  • Этот инструмент не поддерживается при работе с подключением базы данных к инженерной сети в многопользовательской базе геоданных. Вы должны использовать либо связанный опубликованный сервис инженерной сети, либо инженерную сеть или сеть трассировки в файловой базе геоданных.

  • Входной слой схемы сети должен быть либо из инженерной сети или из сети трассировки в файловой базе геоданных, либо из сервиса схемы сети.

  • Данный алгоритм увеличивает промежутки между соединениями схемы, которые визуально расположены слишком близко, перекрываются или совпадают. Он перемещает соединения вдоль связанных с ними ребер. Перемещение вдоль ребер зависит от текущего и относительного положения соединений и параметров компоновки.

  • Этот алгоритм также разделяет ребра схемы, подключенные к целевым соединениям. Учитывается валентность этих соединений, т.е. число смежных ребер и пути ребер можно сохранять.

  • Эта компоновка особенно подходит для водоснабжения, канализации и в газовых сетей, но может применяться и в других отраслях.

  • Рассмотрите возможность применения компоновки в асинхронном режиме на сервере при работе с очень большими схемами.

Синтаксис

ApplyLinearDispatchLayout(in_network_diagram_layer, {junction_placement_type}, {is_unit_absolute}, {maximum_shift_absolute}, {maximum_shift_proportional}, {minimum_shift_absolute}, {minimum_shift_proportional}, {iterations_number}, {is_path_preserved}, {are_leaves_moved}, {are_leaves_expanded}, {expand_shift_absolute}, {expand_shift_proportional}, {run_async})
ParameterОбъяснениеТип данных
in_network_diagram_layer

Схема сети, к которой будет применена компоновка.

Diagram Layer
junction_placement_type
(Дополнительный)

Задает способ перемещения соединений.

  • EQUAL_DISTANCEВсе соединения с двумя подключенными ребрами будут перемещаться с сохранением расстояний между ними и подключенными к ним соединениями. Это значение по умолчанию.
  • USER_DEFINE_DISTANCEВсе соединения с двумя подключенными ребрами будут перемещаться с сохранением минимального расстояния (значение параметра minimum_shift_) между соединением и другим концом ребра, к которому оно подключено. Это происходит в конце выполнения компоновки.
  • ITERATIVE_DISTANCEВсе соединения с двумя подключенными ребрами будут немного перемещаться в соответствии со значениями параметров iterations_number и maximum_shift_.
String
is_unit_absolute
(Дополнительный)

Задает, как будут интерпретироваться параметры, представляющие расстояния.

  • ABSOLUTE_UNITАлгоритм компоновки будет интерпретировать любые значения расстояний в линейных единицах.
  • PROPORTIONAL_UNITАлгоритм компоновки будет интерпретировать любые значения расстояний как относительные единицы к установленному среднему размеру соединений в текущем экстенте схемы. Это значение по умолчанию.
Boolean
maximum_shift_absolute
(Дополнительный)

Максимальное расстояние, на которое могут быть отнесены соединения с двумя подключениями от соединений, к которым они подключаются. Значение по умолчанию – 2 единицы в системе координат схемы. При достижении указанного расстояния соединения при следующих итерациях более не двигаются. Этот параметр требуется при использовании типа размещения соединений ITERATIVE_DISTANCE и выражается в абсолютных единицах.

Linear Unit
maximum_shift_proportional
(Дополнительный)

Максимальное расстояние, на которое могут быть отнесены соединения с двумя подключениями от соединений, к которым они подключаются. Значение по умолчанию равно 2. При достижении указанного расстояния соединения при следующих итерациях более не двигаются. Этот параметр требуется при использовании типа размещения соединений ITERATIVE_DISTANCE и выражается в относительных единицах.

Double
minimum_shift_absolute
(Дополнительный)

Минимальное расстояние, которое определяет отделяет каждое соединение с двумя подключенными ребрами от концов его двух ребер, которое получается после выполнения компоновки. Значение по умолчанию – 2 единицы в системе координат схемы. Когда значение этого параметра очень велико, соединения с двумя подключениями перемещаются таким образом, что расстояния между каждым перемещенным соединением и концом его ребра равны на всем пути, определенном его двумя подсоединенными ребрами. Этот параметр требуется при использовании типа размещения соединений USER_DEFINE_DISTANCE и выражается в абсолютных единицах.

Linear Unit
minimum_shift_proportional
(Дополнительный)

Минимальное расстояние, которое определяет отделяет каждое соединение с двумя подключенными ребрами от концов его двух ребер, которое получается после выполнения компоновки. Значение по умолчанию равно 2. Когда значение этого параметра очень велико, соединения с двумя подключениями перемещаются таким образом, что расстояния между каждым перемещенным соединением и концом его ребра равны на всем пути, определенном его двумя подсоединенными ребрами. Этот параметр требуется при использовании типа размещения соединений USER_DEFINE_DISTANCE и выражается в относительных единицах.

Double
iterations_number
(Дополнительный)

Количество итераций для обработки. Значение по умолчанию равно 5. Этот параметр требуется при использовании типа размещения соединений ITERATIVE_DISTANCE.

Long
is_path_preserved
(Дополнительный)

Определяет способ обработки вершин вдоль ребер схемы.

  • PRESERVE_PATHВсе вершины вдоль соединенных ребер будут сохранены, в места начального положения перемещенных соединений будут добавлены новые вершины. Это значение по умолчанию.
  • IGNORE_PATHВершины вдоль ребер схемы сохраняться не будут.
Boolean
are_leaves_moved
(Дополнительный)

Определяет, могут ли соединения листьев (соединения с одним подключением) перемещаться во время выполнения алгоритма.

  • MOVE_LEAVESСоединения листьев перемещаются.
  • DO_NOT_MOVE_LEAVESСоединения листьев не перемещаются. Используется по умолчанию, если только входная схема сети не основана на шаблоне с алгоритмом компоновки Линейное распределение, имеющим другие значения параметра.
Boolean
are_leaves_expanded
(Дополнительный)

Определяет, будут ли растягиваться соединения листьев:

  • EXPAND_LEAVESСоединения листьев будут растягиваться. Параметр expand_shift_absoluteопределяет максимальное расстояние, но которое соединения листьев могут растягиваться относительно соединений, к которым они присоединены.
  • DO_NOT_EXPAND_LEAVESСоединения листьев не будут растягиваться. Используется по умолчанию, если только входная схема сети не основана на шаблоне с алгоритмом компоновки Линейное распределение, имеющим другие значения параметра.
Boolean
expand_shift_absolute
(Дополнительный)

Максимальное расстояние, на которое могут быть растянуты соединения листьев от соединений, к которым они подключаются. По умолчанию это 2 единицы в системе координат схемы, если только входная схема сети не основана на шаблоне с алгоритмом компоновки Линейное распределение, имеющим другие значения параметра. При достижении указанного расстояния соединения листьев при следующих итерациях более не двигаются. Этот параметр требуется при использовании типа размещения соединений Растянуть листья и выражается в абсолютных единицах.

Linear Unit
expand_shift_proportional
(Дополнительный)

Максимальное расстояние, на которое могут быть растянуты соединения листьев от соединений, к которым они подключаются. По умолчанию используется 2, если только входная схема сети не основана на шаблоне с алгоритмом компоновки Линейное распределение, имеющим другие значения параметра. При достижении указанного расстояния соединения листьев при следующих итерациях более не двигаются. Этот параметр требуется при использовании типа размещения соединений Растянуть листья и выражается в относительных единицах.

Double
run_async
(Дополнительный)

Указывает, будет ли алгоритм компоновки выполняться асинхронно или синхронно на сервере.

  • RUN_ASYNCHRONOUSLYАлгоритм компоновки будет выполняться асинхронно на сервере. Эта опция выделяет ресурсы сервера для запуска алгоритма компоновки с более длительным временем ожидания. Асинхронный запуск применяется при использовании компоновок, на которые затрачивается большое количество времени и возможно превышение времени ожидания сервера (например, компоновки Частично перекрывающиеся ребра), и применении их к большим схемам, содержащим более 25 000 объектов.
  • RUN_SYNCHRONOUSLYАлгоритм компоновки будет выполняться синхронно на сервере. Он может завершиться без результата, если время выполнения превысит тайм-аут сервиса, по умолчанию равный 600 секундам. Это значение по умолчанию.
Boolean

Производные выходные данные

NameОбъяснениеТип данных
out_network_diagram_layer

Обновленный слой схемы сети.

Слой схемы

Пример кода

ApplyLinearDispatchLayout, пример (окно Python)

Применение алгоритма компоновки Направленный по углам к схеме Temporary Diagram.

import arcpy
arcpy.ApplyLinearDispatchLayout_nd("Temporary Diagram", "ITERATIVE_DISTANCE", 
                                   "ABSOLUTE_UNIT", "15 Feet", "", "2 Feet", 
                                   "", 10, "PRESERVE_PATH", "DO_NOT_MOVE_LEAVES", 
                                   "DO_NOT_EXPAND_LEAVES", "2 Feet", 2, 
                                   "RUN_SYNCHRONOUSLY")

Environments

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы