Kräftebasiertes Layout hinzufügen (Network Diagram)

Zusammenfassung

Fügt den Algorithmus "Kräftebasiertes Layout" zur Liste der Layouts hinzu, die automatisch am Ende der Generierung von Schemas basierend auf einer bestimmten Vorlage angehängt werden sollen. Dieses Werkzeug stellt auch entsprechend dieser Vorlage die Parameter des Algorithmus "Kräftebasiertes Layout" ein.

Dieser Algorithmus verwendet eine physische Analogie zur Darstellung von Grafiken, indem ein Kräftesystem bestimmt 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.

Weitere Informationen zum Algorithmus "Kräftebasiertes Layout"

Vorsicht:

Dieses Werkzeug ist ein Konfigurations- und Verwaltungswerkzeug.

Hinweis:

Dieses Werkzeug hat Auswirkungen auf die Konsistenz aller vorhandenen Schemas, die auf der Eingabeschemavorlage basieren. Alle vorhandenen Schemas werden inkonsistent und werden beim Öffnen mit dem Konsistenzwarnsymbol Möglicherweise inkonsistent angezeigt, bis sie aktualisiert werden.

Verwendung

  • Bei Verwendung eines Utility Network- oder Trace Network-Service wird dieses Werkzeug nicht unterstützt. Sie müssen entweder ein Versorgungs- oder Verfolgungsnetz in einer File-Geodatabase oder eine Datenbankverbindung zu einem Versorgungs- oder Verfolgungsnetz in einer Enterprise-Geodatabase verwenden. Für die Verwendung einer Enterprise-Geodatabase gelten folgende Voraussetzungen:

  • Um die Parameter für den Layout-Algorithmus eines beliebigen Schemas basierend auf der Schemavorlage voreinzustellen, deaktivieren Sie den Parameter Aktiv (is_active = "INACTIVE" in Python).

  • Führen Sie das Werkzeug mit aktivierter Option Aktiv (Standardeinstellung) (is_active = "ACTIVE" in Python) aus, wenn Sie möchten, dass der Layout-Algorithmus der Liste der Layouts hinzugefügt wird, die automatisch am Ende der Schemaerstellung basierend auf der Eingabe-Schemavorlage verkettet werden.

Syntax

arcpy.nd.AddForceDirectedLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type})
ParameterErklärungDatentyp
in_utility_network

Das Versorgungs- oder Verfolgungsnetz, das die zu ändernden Schemavorlagendefinitionen referenziert.

Utility Network; Trace Network
template_name

Der Name der zu ändernden Schemavorlage.

String
is_active

Gibt an, ob der Layout-Algorithmus automatisch ausgeführt wird, wenn Schemas basierend auf einer angegebenen Vorlage erstellt werden.

  • ACTIVEDer hinzugefügte Layout-Algorithmus wird automatisch während der Erstellung eines beliebigen Schemas ausgeführt, das auf dem Parameter template_name basiert. Dies ist die Standardeinstellung.Die für den Layout-Algorithmus angegebenen Parameterwerte entsprechen den Werten, die zum Ausführen des Layouts während der Schemaerstellung verwendet werden. Sie werden darüber hinaus standardmäßig geladen, wenn der Algorithmus für ein beliebiges Schema basierend auf der Eingabevorlage ausgeführt wird.
  • INACTIVEAlle derzeit für den hinzugefügten Layout-Algorithmus angegebenen Parameterwerte entsprechen den Werten, die standardmäßig geladen werden, wenn der Algorithmus für beliebige Schemas basierend auf der Eingabevorlage ausgeführt wird.
Boolean
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
iterations_number
(optional)

Die Anzahl der zu verarbeitenden Iterationen. 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)

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

  • LOWDer Bereich, der zum Verschieben der Schemaknoten verwendet wird, ist begrenzt. Dies ist die Standardeinstellung.
  • HIGHDer Bereich, der zum Verschieben der Schemaknoten verwendet wird, ist 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 ist 30. Bei einem Wert N zwischen 15 und 40 für den Parameter Relative Teilungspunktposition (%) gilt beispielsweise Folgendes:

  • 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 Netzwerk-Features oder der Objektkante spielt dabei keine Rolle.

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

Double
edge_display_type
(optional)

Gibt den Anzeigetyp für die Schemakanten an.

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

Abgeleitete Ausgabe

NameErklärungDatentyp
out_utility_network

Das aktualisierte Versorgungsnetz oder Verfolgungsnetz.

Versorgungsnetz, Verfolgungsnetz
out_template_name

Der Name der Schemavorlage

Zeichenfolge

Codebeispiel

AddForceDirectedLayout – Beispiel (Python-Fenster)

Der Algorithmus "Kräftebasiertes Layout" wird der mit dem Eingabe-Netzwerk verknüpften Vorlage "MyTemplate1" als automatisches Layout hinzugefügt.

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddForceDirectedLayout_nd(input_Network, "MyTemplate1", "ACTIVE", 
                                "PRESERVE_CONTAINERS", 20, 1, "LOW", "25", 
                                "CURVED_EDGES")

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

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

Verwandte Themen