Netzwerkschemas können schlecht lesbar sein, wenn Schema-Features zu nah beieinander liegen oder zu weit voneinander entfernt sind, um Symbole und Beschriftungen im gewünschten Maßstab anzuzeigen. Eine Reihe von Schema-Layouts kann angewendet werden, um den Abstand zwischen Features in Netzwerkschemas zu verdeutlichen und zu normalisieren.
Typen von Schema-Layouts
Verschiedene Schema-Layout-Algorithmen werden bereitgestellt, um den Inhalt Ihrer Netzwerkschemas anzuordnen.
Es gibt vier Kategorien von Layouts: Baumstruktur-Layouts, Verfeinerungs-Layouts, schematische Layouts und sonstige Layouts.
Baumstruktur-Layouts
Baumstruktur-Layouts ordnen die Schema-Features durch die Anzeige einer Baumstruktur hierarchisch an. Die folgenden Layouts sind die Baumstruktur-Layouts:
- Layout für Baumstruktur entlang Hauptleitung
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.
- Layout für radiale Baumstruktur
Dieser Layout-Algorithmus ordnet die Schema-Features hierarchisch an und platziert sie entsprechend den festgelegten Radiusparametern in einer radialen Baumstruktur. Er funktioniert auf Basis eines Stammknotens, den er als Kreismittelpunkt nutzt, um die Teilstrukturen beginnend mit dieser Struktur in konzentrischen Kreisen anzuordnen. Dabei entspricht jeder Kreis einer hierarchischen Ebene.
- Layout für intelligente Baumstruktur
Dieser Layout-Algorithmus ordnet die Schema-Features hierarchisch an und platziert sie entsprechend der festgelegten Richtung und den Abständen in einer intelligenten Baumstruktur.
Verfeinerungs-Layout
Verfeinerungs-Layouts umfassen die folgenden drei Schema-Layouts, die Schemakanten verfeinern:
- Nach Winkel ausgerichtetes Layout
Dieser Layout-Algorithmus verschiebt die Kanten eines Schemas zur Ausrichtung in bestimmte Richtungen. Dieses Layout erfasst die aktuelle Richtung der jeweiligen Schemakante, sucht unter den angegebenen Richtungen nach der, die der gewünschten am nächsten liegt, und verschiebt die Kante in diese Richtung.
- Layout mit teilweise überlappenden Kanten
Dieser Layout-Algorithmus erkennt Gruppen kollinearer Kanten und kollinearer Teile von Kanten (Kantensegmente), die als innerhalb der Pufferzone einer bestimmten Größe betrachtet werden können.
- Layout Schemakanten umformen
Dieses Layout wird verwendet, um einfache Vorgänge für Stützpunkte entlang von Kanten in Netzwerkschemas zu verarbeiten. Dies bietet Ihnen die folgenden Möglichkeiten:
- Entfernen aller Stützpunkte entlang von Schemakanten
- Reduzierung einiger Stützpunkte entlang von Schemakanten
- Quadratschemakanten mit zusätzlichen Stützpunkten an Kanten
- Getrennte Schemakanten, die sich überlappen
- Ermitteln von Schemakanten, die sich im rechten Winkel kreuzen, und Umformen dieser Geometrien, um an den Kreuzungen einen Kreisbogen anzuzeigen
Schematische Layouts
Schematische Layouts umfassen verschiedene Layout-Typen. Die meisten davon ermöglichen die Trennung von Features, die im Netzwerkschema nahe beieinander liegen, möglichst ohne die Position dieser Features zu verändern, wie zum Beispiel "Gitter", "Lineare Verteilung", "Räumliche Verteilung" und "Kräftebasiert". Die zwei anderen Layouts "Baumstruktur drehen" und "Komprimierung" werden zum Optimieren der Platzverteilung im Schema verwendet.
- Komprimierungs-Layout
Dieser Layout-Algorithmus komprimiert die Schema-Features in Richtung Mitte des Schemas und versucht gleichzeitig, die relative Positionierung beizubehalten. Er verwendet eine Entfernung, die die Erstellung der Gruppen von Knoten ermöglicht, die während der Ausführung des Algorithmus als Superknoten verschoben werden.
- Kräftebasiertes Layout
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.
- Gitter-Layout
Dieser Algorithmus positioniert Schemaknoten relativ zu einem magnetischen Gitter mit festgelegten Zellengrößen nach den Parameterwerten Zellenbreite und Zellenhöhe.
- Layout für lineare Verteilung
Mit diesem Layout-Algorithmus wird der Abstand zwischen Schemaknoten erhöht, die visuell zu nahe beieinander liegen, sich überlappen oder lagegleich sind. Er verschiebt Knoten entlang ihrer verbundenen Kanten. Die Verschiebung entlang der Kanten hängt von der aktuellen und relativen Position von Knoten und von den Layout-Parametern ab.
- Hauptring-Layout
Dieser Layout-Algorithmus ordnet die Schema-Features um den Hauptring herum an und legt die Teilmenge der Schema-Features, die mit den einzelnen Schemaknoten entlang des Hauptrings verbunden sind, hierarchisch an.
- Layout "Entlang der Hauptleitung"
Dieses Layout ordnet die Netzwerkschema-Features im aktiven Schema entlang von parallelen, geraden Linien an. Dabei weisen alle verbundenen Kanten denselben Attributwert auf. Die Verzweigungen dieser Linien werden so platziert, dass die Richtungen in Bezug auf die geraden Linien beibehalten werden. Die Entfernungen bleiben dabei proportional zur ursprünglichen Entfernung und relativ zueinander.
- Layout "Baumstruktur drehen"
Mit diesem Layout-Algorithmus werden Baumstrukturen, die sich auf aktuell im Eingabe-Netzwerkschema-Layer eingerichtete Pivot-Knoten beziehen, entsprechend dem angegebenen Winkel gedreht.
- Layout für räumliche Verteilung
Dieser Layout-Algorithmus trennt Schemaknoten, die sich sichtbar fast überlappen, entsprechend ihrer aktuellen Positionen und dem angegebenen Versatzfaktor progressiv.
Sonstige Layouts
Diese Kategorie enthält die folgenden speziellen Algorithmen:
- Vorlagen-Layouts
Dieses Layout wird verwendet, um die Liste der Layout-Algorithmen, die derzeit für die Vorlage konfiguriert sind, auf der das Eingabe-Netzwerkschema basiert, erneut auszuführen. Dieses Werkzeug ist nützlich, wenn ein Schema bearbeitet wurde und Sie den Zustand des Layouts vor der Erstellung des Schemas wiederherstellen möchten.
- Layout der Geo-Positionen
Dieses Layout verschiebt alle Knoten- und Kanten-Features eines Schema, bis sie mit den geographischen Positionen der zugeordneten Netzwerk-Features in der Kartenansicht übereinstimmen.
Besonderheiten von Schema-Layouts
Algorithmen für Schema-Layouts werden mit Geoverarbeitungswerkzeugen ausgeführt. Jedes Layout hat seine eigenen Parameter, die für die Steuerung des Abstands zwischen Schema-Features, die Kantengeometrie, die Beibehaltung der Position von Inhalts-Features usw. verantwortlich sind. Einige Layouts berücksichtigen Schema-Flags, die vor der Ausführung im Schema platziert werden können.
Anwenden eines Schema-Layouts
Schema-Layouts werden mit Geoverarbeitungswerkzeugen ausgeführt.
Es gibt zwei Möglichkeiten zum Anwenden eines Schema-Layouts:
- Manuell
Verwenden Sie diese Methode, wenn Sie ein Layout auf ein vorhandenes Netzwerkschema anwenden möchten, das gerade in einer Schemakartenansicht angezeigt wird. In diesem Fall kann das Layout entweder für den gesamten Inhalt des Netzwerkschemas oder für einen Teil davon (einen Teil der ausgewählten Schema-Features) gelten.
- Automatisch bei der Schemaerstellung
Dies wird in der Schemavorlage festgelegt. Daher werden alle Schemas, die auf dieser Vorlage basieren, dynamisch angeordnet. Das Layout gilt immer für den gesamten Inhalt des Schemas, das auf der Vorlage basiert. In diesem Fall können mehrere Layouts in der Vorlage konfiguriert werden. Sie sind in der Eingabe-Sequenzreihenfolge verkettet, in der sie in der Vorlage konfiguriert wurden. Layout 1 wird für die anfängliche Geometrie der Netzwerk-Features im Schema ausgeführt, und Layout N nutzt die Geometrie, die sich aus der Ausführung von Algorithmus (N-1) ergibt.
Layout-Parameter
Ein Schema-Layout wird gemäß bestimmter Parameter ausgeführt, die für jedes Layout eindeutig sind.
In jedem Layout gelten für jeden Parameter eigene Standardwerte, die Sie bei Bedarf anpassen können. Diese Standardparameterwerte können auch über eine Vorlage voreingestellt werden.
Ein im Bereich Geoverarbeitung geladenes Werkzeug für Layout-Algorithmen verwendet die standardmäßigen Parameterwerte. Dies gilt allerdings nicht, wenn das Eingabe-Netzwerkschema, für das das Layout ausgeführt wird, auf einer Vorlage basiert, für die der Layout-Algorithmus explizit mit anderen Parameterwerten konfiguriert wurde.
Wenn ein Layout-Algorithmus mit Python-Skripten in einem Schema ausgeführt wird, ist es möglicherweise nicht erforderlich, alle Algorithmus-Parameterwerte anzugeben. Ohne angegebene Parameterwerte wird das Layout entweder mit den Standardparameterwerten des Algorithmus ausgeführt oder mit den Algorithmus-Parameterwerten, die in der als Grundlage für das Eingabeschema verwendeten Vorlage festgelegt waren, als dieser Algorithmus zur Vorlage hinzugefügt wurde.
Ausführen von Schema-Layouts im asynchronen Modus auf dem Server
Standardmäßig werden alle Schema-Layouts synchron sowohl auf dem Client auch auf dem Server ausgeführt. Je nach Größe des Schemas, Komplexität des Layout-Algorithmus und angegebenem Timeout für den Service (Standardwert: 600 Sekunden) können einige Layout-Ausführungen den Service-Timeout überschreiten, sodass die Vorgänge fehlschlagen. In dieser Situation kann es notwendig sein, Layouts asynchron anzuwenden.
Bei Anwendung eines Schema-Layouts mit aktivierter Option In asynchronem Modus auf dem Server ausführen ist der Prozess im Hinblick auf das bearbeitete Schema auf Client-Seite weiterhin synchron. Es können also keine weiteren Operationen für dieses Schema verarbeitet werden, bis die Ausführung des Layouts abgeschlossen ist. Serverseitig wird der Prozess jedoch asynchron ausgeführt. Dazu werden Serverressourcen für die Ausführung des Layout-Algorithmus mit einem längeren Timeout zugewiesen. Durch diesen Modus wird verhindert, dass der Client für andere Vorgänge blockiert ist, während die asynchrone Layout-Operation abgeschlossen wird. Sie können also während dieser Zeit andere Schemas erstellen oder bearbeiten.
Hinweis:
Dieser asynchrone Modus kann nur in Verbindung mit utility network-Services, die unter ArcGIS Server 10.7.1 Enterprise veröffentlicht wurden, verwendet werden.
Anordnen der Inhalts-Features
Die meisten Layout-Algorithmen funktionieren mit der Option Container beibehalten, die Ihnen die Steuerung der Ausführung des Algorithmus für Inhalts-Features ermöglicht. Beachten Sie bei der Verwendung der Option Container beibehalten die folgenden Hinweise:
- Wenn diese Option aktiviert ist, wird der Layout-Algorithmus für das oberste Diagramm des Schemas ausgeführt. Dadurch bleibt die relative Position für Folgendes erhalten:
- Alle Inhalts-Features, die sich auf einen Strukturknoten oder eine Baugruppe im Polygoncontainer des Strukturbauteiles oder des Baugruppenschemas beziehen
- Alle Inhalts-Features, die sich auf einen linearen Container um den linearen Container des Schemas beziehen. Diese werden entlang des linearen Containers dargestellt.
- Wenn diese Option deaktiviert ist, wird der Layout-Algorithmus für Features mit und ohne Inhalt im Schema ausgeführt.
Flags und Layouts von Schemas
Vor ihrer Ausführung berücksichtigen manche Schemas bestimmte Schema-Flags, die im Schema vorhanden sein können. Es gibt vier Typen von Schema-Flags, die Sie in einem Schema verwenden können: Stammknoten-Flags, Endknoten-Flags, Pivot-Knoten-Flags und Barriere-Flags.
Stammknoten-Flags
Die Algorithmen für Baumstruktur-Layouts beginnen mit der Verarbeitung immer an bestimmten Knoten, die als Stamm der Baumstruktur gelten. Wenn das Schema aus getrennten Netzwerkteilen besteht, werden mit den Baumstruktur-Layouts systematisch getrennte Baumstrukturen erstellt, die jeweils mit einem Stammknoten beginnen.
Stammknoten-Flags können bei der Schemaerstellung oder -aktualisierung festgelegt werden, wenn die Vorlage, auf der das Schema basiert, zur Ausführung der Regel "Stammknoten festlegen" konfiguriert ist. Das Werkzeug Stammknoten festlegen kann verwendet werden, um Knoten als Stamm festzulegen, damit die Baumstruktur-Layouts bei diesen Knoten mit der Verarbeitung beginnen.
Wenn im Schema keine Stammknoten festgelegt sind, legen die Baumstruktur-Layouts die erforderlichen Knoten nach dem Zufallsprinzip fest.
In allen Fällen legen die Baumstruktur-Layouts die Stammknoten an den folgenden Positionen fest:
- Beim Layout für radiale Baumstruktur wird der Stammknoten im Mittelpunkt eines Kreises platziert, und die Teilstrukturen werden ausgehend von diesem Stamm in konzentrischen Kreisen angeordnet. Jeder Kreis entspricht einer Hierarchieebene.
- Beim Layout für Baumstruktur entlang Hauptleitung basiert die Hauptleitung auf dem angegebenen Stammknoten.
- Beim Layout für intelligente Baumstruktur beginnt die Baumstrukturerstellung beim angegebenen Stammknoten.
Wenn das Schema aus mehreren getrennten Diagrammen besteht oder wenn mehrere Stammknoten im Schema angegeben sind, werden die folgenden Positionen verwendet:
- Beim Layout für radiale Baumstruktur werden die Stammknoten entlang des ersten konzentrischen Kreises platziert, wobei der Mittelpunkt fiktiv ist.
- Beim Layout für Baumstruktur entlang Hauptleitung und beim Layout für intelligente Baumstruktur werden die Stammknoten entlang einer Achse rechtwinklig zur Richtung der Baumstruktur ausgerichtet. Sie bilden so unterschiedliche Startpunkte für jedes getrennte Diagramm oder für unterschiedliche Verzweigungen des Diagramms.
Endknoten-Flags
Beim Layout für Baumstruktur entlang Hauptleitung gibt es auch einen zu berücksichtigenden Endknoten: der letzte Knoten an den Hauptleitungen.
Wie Stammknoten können diese speziellen Knoten mit dem Werkzeug Endknoten festlegen festgelegt werden. Sie können aber auch durch den Algorithmus ermittelt werden. In diesem Fall ist der Endknoten der letzte Knoten der längsten Verzweigung, ausgehend vom Stammknoten. Es ist also die längste Verzweigung unter Berücksichtigung der Anzahl von Kanten entlang dieser Verzweigung.
Pivot-Knoten- und Barriere-Flags
Vor der Anwendung des Layouts "Baumstruktur drehen" müssen Sie mit dem Werkzeug Pivot-Knoten festlegen die Knoten kennzeichnen, um die die Drehung erfolgen soll. Wenn Sie das Drehungs-Layout steuern und verhindern möchten, dass es über bestimmte Schema-Features hinaus ausgeführt wird, müssen Sie in diesem Fall zudem mit dem Werkzeug Barriere festlegen Barriere-Flags für diese Features einrichten.