Layout für Baumstruktur entlang Hauptleitung anwenden (Network Diagram)

Zusammenfassung

Ordnet Schemaknoten und -kanten entlang einer Hauptleitung hierarchisch an.

Weitere Informationen zum Algorithmus "Layout für Baumstruktur entlang Hauptleitung"

Vorsicht:

Wenn Sie eine Editiersitzung geöffnet haben, müssen Sie die Bearbeitungen speichern, bevor Sie dieses Werkzeug ausführen. Dadurch wird sichergestellt, dass im Schema die letzten Änderungen an der Netzwerk-Topologie in der Datenbank widergespiegelt werden. Wenn Sie die Änderungen nicht speichern, werden die Bearbeitungen nicht im Schema widergespiegelt.

Hinweis:

Jeder Layout-Algorithmus enthält standardmäßige Parameterwerte. Die standardmäßigen Parameterwerte werden verwendet, sofern nichts anderes angegeben ist. Wenn das Eingabe-Netzwerkschema auf einer Vorlage basiert, für die dieses Layout mit einem anderen Parameterwert konfiguriert wurde, wird stattdessen dieser Wert verwendet.

Verwendung

  • Dieses Werkzeug wird nicht unterstützt, wenn Sie mit einer Datenbankverbindung zu einem Versorgungs- oder Verfolgungsnetz in einer Enterprise-Geodatabase arbeiten. Sie müssen entweder den zugehörigen veröffentlichten Utility Network- oder Trace Network-Service oder ein Versorgungs- oder Verfolgungsnetz in einer File-Geodatabase verwenden.

  • Der Eingabe-Netzwerkschema-Layer muss aus einem Versorgungs- oder Verfolgungsnetz in einer File-Geodatabase oder einem Netzwerkschema-Service stammen.

  • Dieser Layout-Algorithmus ordnet die Knoten und Kanten im Eingabe-Netzwerkschema hierarchisch entlang einer Hauptleitung an und platziert seine zugehörigen Verzweigungen auf der linken Seite, auf der rechten Seite oder auf beiden Seiten der Hauptleitung.

  • Stamm- und Endknoten können im Schema angegeben werden, sodass der Algorithmus für das Layout für die Baumstruktur entlang von Hauptleitungen eine Hauptleitung erstellt, die am angegebenen Stammknoten beginnt und am angegebenen Endknoten endet.

    • Wenn keine Stamm- und Endknoten angegeben wurden, ermittelt der Algorithmus standardmäßig den Schemaknoten, der mit dem kleinsten Index für Netzwerk-Topologien verknüpft ist. Beginnend bei diesem Knoten, der den Stamm darstellt, sucht der Algorithmus nach einer Leitung mit den meisten Kanten: die Hauptleitung.
    • Wenn ein Stammknoten festgelegt wurde, ist die Hauptleitung eine der Verzweigungen mit den meisten Kanten ab diesem Stammknoten.
    • Wenn Stamm- und Endknoten angegeben werden und eine Verbindung zwischen beiden besteht, ist die Hauptleitung die Verzweigung mit den meisten Schemakanten beginnend ab dem Stammknoten und endend mit dem Endknoten.

    Wenn Ihr Netzwerkschema aus mehreren nicht verbundenen Schemateilen besteht, können Sie mehrere Stamm- und Endknoten festlegen, z. B. einen für jeden Teil des Schemas.

    Verschiedene Knoten, die zum selben verbundenen Schemateil gehören, können ebenfalls als Stämme angegeben werden. Sie werden alle entlang der gleichen Achse rechtwinklig zur Richtung der Baumstruktur ausgerichtet und als unterschiedliche Startpunkte für eine Strukturverzweigung des Schemas angezeigt. Obwohl Sie mehrere Enden für dasselbe verbundene Schemateil angeben können, erkennt das System nur eines davon als Endknoten.

    Wenn ein Endknoten, aber kein Stammknoten angegeben wird, wird der Endknoten ignoriert.

  • Bei der Arbeit in sehr großen Schemas empfiehlt es sich, das Layout im asynchronen Modus auf dem Server anzuwenden.

Syntax

arcpy.nd.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})
ParameterErklärungDatentyp
in_network_diagram_layer

Das Netzwerkschema, auf das das Layout angewendet wird.

Diagram Layer
are_containers_preserved
(optional)

Legt fest, wie der Algorithmus Container verarbeitet:

  • PRESERVE_CONTAINERS Der Layout-Algorithmus wird für den oberen Graphen des Schemas ausgeführt, sodass die Container beibehalten werden.
  • IGNORE_CONTAINERSDer Layout-Algorithmus wird für Features mit und ohne Inhalt im Schema ausgeführt. Dies ist die Standardeinstellung.
Boolean
tree_direction
(optional)

Gibt die Richtung der Hauptleitung an.

  • FROM_LEFT_TO_RIGHTDie Hauptleitung wird als horizontale Linie dargestellt, die links beginnt und rechts endet. Dies ist die Standardeinstellung.
  • FROM_RIGHT_TO_LEFTDie Hauptleitung wird als horizontale Linie dargestellt, die rechts beginnt und links endet.
  • FROM_BOTTOM_TO_TOPDie Hauptleitung wird als vertikale Linie dargestellt, die unten beginnt und oben endet.
  • FROM_TOP_TO_BOTTOMDie Hauptleitung wird als vertikale Linie dargestellt, die oben beginnt und unten endet.
String
branches_placement
(optional)

Gibt an, wie Verzweigungen von der Hauptleitung relativ zu ihrer Richtung platziert werden.

  • BOTH_SIDESVerzweigungen werden auf beiden Seiten der Hauptleitung platziert. Dies ist die Standardeinstellung.
  • LEFT_SIDEVerzweigungen werden nur auf der linken Seite der Hauptleitung platziert.
  • RIGHT_SIDEVerzweigungen werden nur auf der rechten Seite der Hauptleitung platziert.
String
is_unit_absolute
(optional)

Gibt an, wie Parameter, die Abstände darstellen, interpretiert werden.

  • ABSOLUTE_UNITDer Layout-Algorithmus interpretiert alle Entfernungswerte als lineare Einheiten.
  • PROPORTIONAL_UNITDer Layout-Algorithmus interpretiert alle Entfernungswerte als relative Einheiten für eine Abschätzung des Durchschnitts für die Knotengrößen in der aktuellen Schemaausdehnung. Dies ist die Standardeinstellung.
Boolean
perpendicular_absolute
(optional)

Der Abstand zwischen Schemaknoten, die entlang der Achse rechtwinklig zur Hauptleitung angezeigt werden. Der Standardwert beträgt 2 im Koordinatensystem des Schemas. Dieser Parameter kann nur mit absoluten Einheiten verwendet werden.

Linear Unit
perpendicular_proportional
(optional)

Der Abstand zwischen Schemaknoten, die entlang der Achse rechtwinklig zur Hauptleitung angezeigt werden. Die Standardeinstellung ist 2. Dieser Parameter kann nur mit proportionalen Einheiten verwendet werden.

Double
along_absolute
(optional)

Der Abstand zwischen Schemaknoten, die entlang der Hauptleitung angezeigt werden, und der Abstand zwischen Schemaknoten, die entlang der Achse parallel zur Hauptleitung angezeigt werden. Dieser Parameter kann nur mit absoluten Einheiten verwendet werden. Der Standardwert beträgt 2 Einheiten im Koordinatensystem des Schemas.

Linear Unit
along_proportional
(optional)

Der Abstand zwischen Schemaknoten, die entlang der Hauptleitung angezeigt werden, und der Abstand zwischen Schemaknoten, die entlang der Achse parallel zur Hauptleitung angezeigt werden. Dieser Parameter wird mit proportionalen Einheiten verwendet. Die Standardeinstellung ist 2.

Double
disjoined_graph_absolute
(optional)

Der Mindestabstand, der Features trennt, die zu getrennten Graphen gehören, wenn das Schema solche Graphen enthält. Dieser Parameter wird mit absoluten Einheiten verwendet. Der Standardwert beträgt 4 Einheiten im Koordinatensystem des Schemas.

Linear Unit
disjoined_graph_proportional
(optional)

Der Mindestabstand, der Features trennt, die zu getrennten Graphen gehören, wenn das Schema solche Graphen enthält. Dieser Parameter wird mit proportionalen Einheiten verwendet. Die Standardeinstellung ist 4.

Double
are_edges_orthogonal
(optional)

Gibt an, wie Schemakanten, die in Beziehung zu den Ästen der Baumstruktur stehen, angezeigt werden.

Ältere Versionen:

Dieser Parameter ist seit ArcGIS Pro 2.7 veraltet. Er wird unabhängig von seinem Wert systematisch ignoriert, wenn der Parameter edge_display_type festgelegt ist. Um die Kompatibilität mit ArcGIS Pro 2.1 zu wahren, bleibt er jedoch aktiviert, wenn der Parameter edge_display_type nicht angegeben ist.

  • ORTHOGONAL_EDGESAlle Schemakanten in Beziehung mit den Ästen der Baumstruktur werden mit rechten Winkeln angezeigt.
  • SLANTED_EDGESAlle Schemakanten in Beziehung mit den Ästen der Baumstruktur werden nicht mit rechten Winkeln angezeigt. Dies ist die Standardeinstellung.
Boolean
breakpoint_position
(optional)

Die relative Position des Teilungspunktes, der entlang der Schemakanten eingefügt wird, wenn für Kantenanzeigetyp die Option Regelmäßige Kanten (edge_display_type = "REGULAR_EDGES" in Python) oder Orthogonale Kanten (edge_display_type = "ORTHOGONAL_EDGES" in Python) festgelegt wurde. Dabei handelt es sich um einen Prozentsatz zwischen 0 und 100.

  • Bei einem Wert von 0 für "Relative Teilungspunktposition (%)" wird der Teilungspunkt auf der X-Koordinate des von der Kante ausgehenden Knotens und auf der Y-Koordinate des Zielknotens der Kante positioniert, wenn es sich um eine horizontale Baumstruktur handelt. Bei einer vertikalen Baumstruktur wird er auf der Y-Koordinate des von der Kante ausgehenden Knotens und auf der X-Koordinate des Zielknotens der Kante positioniert.
  • Bei einem Wert von 100 für "Relative Teilungspunktposition (%)" wird kein Teilungspunkt an den Schemakanten eingefügt. Jede Schemakante verbindet direkt die ausgehenden Knoten mit den Zielknoten.
  • Bei einem Wert N für "Relative Teilungspunktposition (%)" zwischen 0 und 100 wird der Teilungspunkt bei N % der Länge des Segments [XY] positioniert. Dabei entspricht X der X-Koordinate des von der Kante ausgehenden Knotens und Y der Y-Koordinate des Zielknotens der Kante, wenn es sich um eine horizontale Baumstruktur handelt. Er wird bei N % der Länge des Segments [YX] positioniert. Dabei entspricht Y der Y-Koordinate des von der Kante ausgehenden Knotens und X der X-Koordinate des Zielknotens der Kante, wenn es sich um eine vertikale Baumstruktur handelt.

Die relative Position der beiden Wendepunkte, die entlang der Schemakanten eingefügt werden, um die Geometrie von geschwungenen Kanten zu berechnen, wenn für Kantenanzeigetyp die Option Geschwungene Kanten (edge_display_type = "CURVED_EDGES" in Python) festgelegt wurde. Dabei handelt es sich um einen Prozentsatz zwischen 15 und 40. Bei einem Wert N für "Relative Teilungspunktposition (%)" zwischen 15 und 40:

  • Mit X als der X-Koordinate der vom Knoten ausgehenden Kante und Y als der Y-Koordinate der vom Knoten ausgehenden Kante für eine horizontale Baumstruktur:
    • Der erste Wendepunkt wird bei N % der Länge des [XY]-Segments positioniert.
    • Der zweite Wendepunkt wird bei (100-N) % der Länge des [XY]-Segments positioniert.
  • Mit Y als der Y-Koordinate der vom Knoten ausgehenden Kante und X als der X-Koordinate der vom Knoten ausgehenden Kante für eine vertikale Baumstruktur:
    • Der erste Wendepunkt wird bei N % der Länge des [YX]-Segments positioniert.
    • Der zweite Wendepunkt wird bei (100-N) % der Länge des [XY]-Segments positioniert.

Hinweis:

Das oben beschriebene Konzept der ausgehenden Knoten und Zielknoten ist relativ zur Richtung der Baumstruktur. Die reale Topologie des Kanten-Features oder Kantenobjekts im Netzwerk spielt dabei keine Rolle.

Double
edge_display_type
(optional)

Gibt den Anzeigetyp für die Schemakanten an, die mit den Ästen der Baumstruktur in Beziehung stehen.

  • REGULAR_EDGESAlle Schemakanten in Beziehung mit den Ästen der Baumstruktur werden nicht mit rechten Winkeln angezeigt. Dies ist die Standardeinstellung.
  • ORTHOGONAL_EDGESAlle Schemakanten in Beziehung mit den Ästen der Baumstruktur werden mit rechten Winkeln angezeigt.
  • CURVED_EDGESAlle Schemakanten, die in Beziehung mit den Ästen der Baumstruktur stehen, sind geschwungen.
String
run_async
(optional)

Gibt an, ob der Layout-Algorithmus asynchron oder synchron auf dem Server ausgeführt wird.

  • RUN_ASYNCHRONOUSLYDer Layout-Algorithmus wird asynchron auf dem Server ausgeführt. Diese Option weist Serverressourcen an, den Layout-Algorithmus mit einem längeren Timeout auszuführen. Die asynchrone Ausführung ist empfehlenswert, wenn zeitintensive Layouts (z. B. teilweise überlappende Kanten) ausgeführt werden, die ansonsten das Serverzeitlimit überschreiten würden und auf große Schemas (mehr als 25.000 Features) angewendet werden.
  • RUN_SYNCHRONOUSLYDer Layout-Algorithmus wird synchron auf dem Server ausgeführt. Er kann vor dem Abschluss des Vorgangs fehlschlagen, wenn für die Ausführung das Service-Timeout (standardmäßig 600 Sekunden) überschritten wird. Dies ist die Standardeinstellung.
Boolean
offset_absolute
(optional)

Der zum Trennen überlappender Segmente verwendete Versatz, wenn is_unit_absolute = "ABSOLUTE_UNIT" und edge_display_type = "ORTHOGONAL_EDGES". Dieser Wert darf nicht größer als 10 Prozent des kleinsten für die anderen Abstandsparameter angegebenen Wertes sein. Die Standardeinstellung ist 0.

Linear Unit
offset_proportional
(optional)

Der zum Trennen überlappender Segmente verwendete Versatz, wenn is_unit_absolute = "PROPORTIONAL_UNIT" und edge_display_type = "ORTHOGONAL_EDGES". Dies ist ein Double-Wert, der nicht größer als 10 Prozent des kleinsten für die anderen Abstandsparameter angegebenen Wertes sein darf. Die Standardeinstellung ist 0.

Double

Abgeleitete Ausgabe

NameErklärungDatentyp
out_network_diagram_layer

Der aktualisierte Netzwerkschema-Layer.

Schema-Layer

Codebeispiel

ApplyMainlineTreeLayout – Beispiel (Python-Fenster)

Mit diesem Beispielskript wird der Algorithmus "Layout für Baumstruktur entlang Hauptleitung" auf das Schema "Temporary Diagram" angewendet.

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", "")

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen