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

Сводка

Иерархически выравнивает соединения и ребра схемы вдоль главной линии.

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

Внимание:

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

Примечание:

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

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

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

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

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

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

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

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

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

    Если задано конечное соединение, но не задано корневое, конечный узел будет игнорироваться.

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

Синтаксис

ApplyMainlineTreeLayout(in_network_diagram_layer, {are_containers_preserved}, {tree_direction}, {branches_placement}, {is_unit_absolute}, {perpendicular_absolute}, {perpendicular_proportional}, {along_absolute}, {along_proportional}, {disjoined_graph_absolute}, {disjoined_graph_proportional}, {are_edges_orthogonal}, {breakpoint_position}, {edge_display_type}, {run_async}, {offset_absolute}, {offset_proportional})
ParameterОбъяснениеТип данных
in_network_diagram_layer

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

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

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

  • PRESERVE_CONTAINERS Алгоритм компоновки будет выполняться в верхнем графе схемы, чтобы сохранить контейнеры.
  • IGNORE_CONTAINERSАлгоритм компоновки будет выполняться для объектов схемы с содержимым и без. Это значение по умолчанию.
Boolean
tree_direction
(Дополнительный)

Определяет направление основной линии.

  • FROM_LEFT_TO_RIGHTОсновная линия будет проведена горизонтально, слева направо. Это значение по умолчанию.
  • FROM_RIGHT_TO_LEFTОсновная линия будет проведена горизонтально, справа налево.
  • FROM_BOTTOM_TO_TOPОсновная линия будет проведена вертикально, снизу вверх.
  • FROM_TOP_TO_BOTTOMОсновная линия будет проведена вертикально, сверху вниз.
String
branches_placement
(Дополнительный)

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

  • BOTH_SIDESВетви располагаются слева и справа от главной линии. Это значение по умолчанию.
  • LEFT_SIDEВетви располагаются только слева от главной линии.
  • RIGHT_SIDEВетви располагаются только справа от главной линии.
String
is_unit_absolute
(Дополнительный)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задает, как будут отображаются ребра схемы, связанные с ветвями дерева.

Прежние версии:

В ArcGIS Pro 2.6 параметр отнесен к устаревшим. Он систематически игнорируется, независимо от своего значения, если задан параметр edge_display_type. Однако для сохранения совместимости с ArcGIS Pro 2.1, он остается включенным, если параметр edge_display_type не указан.

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

Относительное положение точки перегиба, которая будет вставлена на ребра схемы, если Тип отображения ребер задан как Нормальные ребра (edge_display_type = "REGULAR_EDGES" in Python) или Тип отображения ребер задан как Ортогональные ребра (edge_display_type = "ORTHOGONAL_EDGES" in Python). Значение дается в процентах от 0 до 100.

  • Если у Относительной позиции точки разрыва (%) значение 0, точка разрыва устанавливается в x-координате соединения «От» ребра и в y-координате соединения «К» ребра для горизонтального дерева. Она устанавливается на y-координате соединения «От» ребра и на x-координате соединения «К» ребра для вертикального дерева.
  • Если у Относительной позиции точки разрыва (%) значение 100, точка разрыва не вставляется в на ребра схемы; каждое ребро схемы напрямую соединяет его соединения «От» и «К».
  • Если у Относительной позиции точки разрыва (%) значение N между 0 и 100, точка разрыва устанавливается в N% длины сегмента [XY], где X – это x-координата соединения «От» ребра, а Y – y-координата соединения «К» ребра для горизонтального дерева. Она устанавливается на N% длины сегмента [XY], где Y – это y-координата соединения «От» ребра, а X – это x-координата соединения "К"ребра для вертикального дерева.

Относительное положение двух точек перегиба, которые будут вставлены на ребрах схемы для вычисления геометрии изогнутых ребер, если для Типа отображения ребер задано значение Изогнутые ребра (edge_display_type = "CURVED_EDGES" в Python). Значение дается в процентах от 15 до 40. При значении Связанного местоположения точки разрыва (%) N между 15 и 40:

  • X -– это x-координата соединения «От» ребра, а Y – y-координата соединения «К» ребра для горизонтального дерева:
    • Первая точка изгиба будет расположена на расстоянии N% длины сегмента [XY].
    • Вторая точка изгиба будет расположена на расстоянии (100 – N)% длины сегмента [XY].
  • Y – это y-координата соединения «От» ребра, а X -– x-координата соединения «К» ребра для вертикального дерева:
    • Первая точка изгиба будет расположена на расстоянии N% длины сегмента [YX].
    • Вторая точка изгиба будет расположена на расстоянии (100 – N)% длины сегмента [XY].

Примечание:

Указанная выше концепция соединений «От» и «До» связана с направлением дерева; это не относится к реальной топологии объекта в сети.

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

Задает тип отображения ребер схемы, связанных с ветвями дерева.

  • REGULAR_EDGESВсе ребра схемы, связанные с ветвями дерева, не будут отображаться под прямыми углами. Это значение по умолчанию.
  • ORTHOGONAL_EDGESВсе ребра схемы, связанные с ветвями дерева, будут отображаться под прямыми углами.
  • CURVED_EDGESВсе ребра схемы, связанные с ветвями дерева, будут отображаться под изогнутыми.
String
run_async
(Дополнительный)

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

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

Смещение, используемое для разделения перекрывающихся сегментов, когда заданы is_unit_absolute = "ABSOLUTE_UNIT" и edge_display_type = "ORTHOGONAL_EDGES". Это значение не может превышать 10 процентов от наименьшего значения, указанного для других параметров интервала. Значение по умолчанию равно 0.

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

Смещение, используемое для разделения перекрывающихся сегментов, когда заданы is_unit_absolute = "PROPORTIONAL_UNIT" и edge_display_type = "ORTHOGONAL_EDGES". Это значение double не может превышать 10 процентов от наименьшего значения, указанного для других параметров интервала. Значение по умолчанию равно 0.

Double

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

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

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

Слой схемы

Пример кода

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

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

import arcpy
arcpy.ApplyMainlineTreeLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS", 
                                 "FROM_LEFT_TO_RIGHT", "BOTH_SIDES", 
                                 "ABSOLUTE_UNIT", "100 Feet", "" , "100 Feet", 
                                 "", "200 Feet", "", "", 30, "ORTHOGONAL_EDGES", 
                                 "RUN_SYNCHRONOUSLY", "10 Feet", "")

Environments

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

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

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

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