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

Сводка

Иерархически упорядочивает объекты схемы и располагает их на развитом дереве.

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

Внимание:

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

Примечание:

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

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

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

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

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

  • Если на схеме задано корневое соединение, алгоритм компоновки Развитое дерево создает дерево, начинающееся от этого соединения.

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

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

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

Синтаксис

arcpy.nd.ApplySmartTreeLayout(in_network_diagram_layer, {are_containers_preserved}, {tree_direction}, {is_unit_absolute}, {subtree_absolute}, {subtree_proportional}, {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
is_unit_absolute
(Дополнительный)

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

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

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

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

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

Double
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.7 параметр отнесен к устаревшим. Он систематически игнорируется, независимо от своего значения, если задан параметр 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

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

Слой схемы

Пример кода

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

Этот пример применяет алгоритм компоновки Развитое дерево к схеме с названием Temporary Diagram.

import arcpy
arcpy.ApplySmartTreeLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS", 
                              "FROM_LEFT_TO_RIGHT", "PROPORTIONAL_UNIT", 
                              "", 8, "", 5, "", 5, "", 15, "", 70, 
                              "REGULAR_EDGES", "RUN_SYNCHRONOUSLY")

Environments

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

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

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

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