Zusammenfassung
Hebt in einem Netzwerkschema enthaltene Schleifen hervor.
Weitere Informationen zum Algorithmus "Kräftebasiertes Layout"
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
Diese Werkzeug wird nicht unterstützt, wenn Sie mit einer Datenbankverbindung zu einem Versorgungsnetz in einer Enterprise-Geodatabase arbeiten. Sie müssen entweder den zugehörigen veröffentlichten Utility 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 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.
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.
Bei der Arbeit in sehr großen Schemas empfiehlt es sich, das Layout im asynchronen Modus auf dem Server anzuwenden.
Syntax
ApplyForceDirectedLayout(in_network_diagram_layer, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type}, {run_async})
Parameter | Erklärung | Datentyp |
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:
| 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.
| 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:
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.
| String |
run_async (optional) | Gibt an, ob der Layout-Algorithmus asynchron oder synchron auf dem Server ausgeführt wird.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_network_diagram_layer | Der aktualisierte Netzwerkschema-Layer. | Schema-Layer |
Codebeispiel
Mit diesem Beispielskript wird der Algorithmus "Kräftebasiertes Layout" auf das Schema "Temporary Diagram" angewendet.
import arcpy
arcpy.ApplyForceDirectedLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS",
20, 1, "LOW", 25, "CURVED_EDGES",
"RUN_SYNCHRONOUSLY")
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja