Skip To Content

Kräftebasiertes Layout anwenden

Zusammenfassung

Hebt in einem Netzwerkschema enthaltene Schleifen hervor.

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

  • Dieser Algorithmus verwendet eine physische Analogie zur Darstellung von Grafiken, indem eine Grafik als Kräftesystem betrachtet wird, in dem die Energie lokal minimiert wird. Er sucht nach einem Gleichgewichtszustand des Kräftesystems, d. h. einer Position für jeden Schemaknoten, an der die Gesamtkraft an jedem Knoten null beträgt.

  • Da dieser Algorithmus dazu tendiert, in einem Netzwerkschema enthaltene Schleifen hervorzuheben, wird er häufig von Bedienern verwendet, die stark vermaschte Netzwerke für Wasser, Abwasser oder Gas verwalten.

Syntax

ApplyForceDirectedLayout_un (in_network_diagram_layer, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type})
ParameterErläuterungDatentyp
in_network_diagram_layer

Das Netzwerkschema, in dem das Layout angewendet wird.

Diagram Layer
are_containers_preserved
(optional)

Gibt an, wie Container vom Algorithmus verarbeitet werden.

  • 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
iterations_number
(optional)

Gibt die Anzahl der zu verarbeitenden Iterationen an. Die Standardeinstellung ist 20.

Long
repel_factor
(optional)

Fügt Abstand zwischen Schemaknoten hinzu, die sehr nah beieinander liegen. Je größer der Abstoßungsfaktor, umso mehr Längeneinheiten werden zwischen einander nahezu überlappenden Schemaknoten hinzugefügt. Der Standardwert ist 1.

Double
degree_freedom
(optional)

Begrenzt den Bereich, der bei den einzelnen Algorithmusiterationen zum Verschieben der Schemaknoten verwendet wird.

  • LOWDer Bereich, der zum Verschieben der Schemaknoten verwendet wird, ist sehr begrenzt. Dies ist die Standardeinstellung.
  • HIGHDer Bereich, der zum Verschieben der Schemaknoten verwendet wird, ist sehr groß.
  • MEDIUMDer Bereich, der zum Verschieben der Schemaknoten verwendet wird, ist mittelgroß.
String
breakpoint_position
(optional)

Die relative Position der beiden Wendepunkte, die entlang der Schemakanten eingefügt werden, um die Geometrie von geschwungenen Kanten zu berechnen, wenn Kantenanzeigetyp auf Geschwungene Kanten gesetzt ist (edges_display_type="CURVED_EDGES" in Python). Dabei handelt es sich um einen Prozentsatz zwischen 15 und 40, der Standardwert lautet 30. 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:

Die Vorstellung der ausgehenden und der Zielknoten ist relativ zur Richtung der Baumstruktur. Sie hat nichts mit der Topologie der Kante des Netzwerk-Features zu tun.

Dieser Parameter wird ignoriert, wenn Kantenanzeigetyp auf Regelmäßige Kanten gesetzt ist (edges_display_type="REGULAR_EDGES" in Python).

Double
edge_display_type
(optional)

Der Anzeigetyp für die Schemakanten.

  • REGULAR_EDGESAlle Schemakanten werden als gerade Linien angezeigt. Dies ist die Standardeinstellung.
  • CURVED_EDGESAlle Schemakanten werden geschwungen dargestellt.
String

Codebeispiel

ApplyForceDirectedLayout – Beispiel (Python-Fenster)

Mit diesem Beispielskript wird der Algorithmus "Kräftebasiertes Layout" auf das Schema "Temporary Diagram" angewendet.

import arcpy
arcpy.ApplyForceDirectedLayout_un("Temporary Diagram", "PRESERVE_CONTAINERS", 
                                  20, 1, "LOW", 25, "CURVED_EDGES")

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • ArcGIS Desktop Basic: Nein
  • ArcGIS Desktop Standard: Ja
  • ArcGIS Desktop Advanced: Ja

Verwandte Themen