Schemata
Schemata sind interaktive Beziehungsdiagramme, die darstellen, wie Objekte miteinander verbunden sind – nicht nur, wo sie sich auf der Karte befinden. Verwenden Sie sie, um elektrische Schaltkreise, Glasfaserverbindungswege, die Auslastung von Leitungsrohren, Abwasserflussstufen oder andere logische Zusammenhänge zu modellieren, die in einer rein geografischen Ansicht allein schwer zu erkennen sind. Schemata unterliegen einer Versionskontrolle und können direkt mit Kartenelementen verknüpft werden.
Was sind Schemata?
Schematische Darstellungen vs. Kartenelemente:
- Kartenelemente zeigen, wo sich Dinge befinden (räumliche Beziehungen, Geografie)
- Schematische Darstellungen zeigen, wie Dinge miteinander verbunden sind (logische Beziehungen, Abhängigkeiten)
Anwendungsfälle:
Versorgungsnetze
- Modellierung elektrischer Stromkreise (Masten → Transformatoren → Anschlusspunkte)
- Darstellung von Kabelverläufen durch Leitungsrohre
- Visualisierung von Kapazitätsflüssen durch Netzwerksegmente
Prozessabläufe
- Stufen einer Kläranlage
- Abhängigkeiten im Fertigungsprozess
- Routenplanung in der Lieferkette
Organisationshierarchien
- Abhängigkeiten bei der Anlagenwartung
- Eigentumsverhältnisse von Anlagen
- Wege der Leistungserbringung
Physische Verbindungen
- Glasfaserspleißdiagramme
- Topologie von Sanitärnetzen
- Verbindungen von HLK-Kanälen
Benutzeroberfläche des Schaltplan-Editors
Der Schema-Editor wird in einem Popup-Fenster über die Symbolleiste der Kartenseite aufgerufen. Er bietet einen voll ausgestatteten Diagrammeditor mit automatischen Layout-Algorithmen und manueller Positionierung.
Hauptkomponenten
Diagramm-Arbeitsfläche (Mitte)
- Interaktive Visualisierung von Knoten und Kanten
- Knoten per Drag & Drop manuell neu positionieren
- Elemente anklicken, um sie auszuwählen und zu bearbeiten
- Drop-Zone zum Hinzufügen von Elementen aus der Karte
Symbolleiste (unten)
- Knoten hinzufügen – Erstellen von Diagrammknoten (benutzerdefiniert oder mit Kartenelementen verknüpft)
- Kante hinzufügen – Erstellen von Verbindungen zwischen Knoten
- Layout-Auswahl – Wählen eines automatischen Layout-Algorithmus
- Automatisches Layout – Anwenden des ausgewählten Layouts, um alle manuellen Positionen zu löschen
- Aktualisieren – Neuinitialisieren des Diagramms anhand der Daten
Element-Editor (unteres Fenster)
- Eigenschaften des ausgewählten Knotens oder der ausgewählten Kante bearbeiten
- Code-Editor für erweiterte JSON-Bearbeitung
- Visuelles Formular für allgemeine Eigenschaften
- Löschen mit Bestätigung (über Versionen rückgängig machbar)
Metadaten-Panel (oben)
- Schema-Name (inline bearbeitbar)
- Benutzerdefinierte Eigenschaften (Schlüssel-Wert-Paare)
- Integration der Versionsverwaltung
Schemata erstellen
Schritt 1: Ein Schema erstellen
- Öffnen Sie die Kartenseite (https://demo.aptli.io/map)
- Klicken Sie auf die Schaltfläche Karten-Symbolleiste → Schemas
- Der Schema-Editor öffnet sich in einem Popup-Fenster
- Eine leere Diagrammfläche erscheint
Schritt 2: Knoten hinzufügen
Option A: Benutzerdefinierte Knoten (nicht mit der Karte verknüpft)
- Klicken Sie auf die Schaltfläche Knoten hinzufügen
- Wählen Sie den Modus Benutzerdefiniert (Standard)
- Geben Sie den Knotennamen ein (z. B. „Transformator A“)
- Wählen Sie den Geometrietyp: Punkt, Linienstring oder Polygon
- Klicken Sie auf Bestätigen
Option B: Aus vorhandenen Kartenelementen
- Klicken Sie auf die Schaltfläche Knoten hinzufügen
- Wechseln Sie in den Modus Aus Objekt
- Wählen Sie ein Objekt aus der Dropdown-Liste aus (zeigt alle Kartenobjekte an)
- Klicken Sie auf Bestätigen (der Knoten wird über die featureId mit dem Objekt verknüpft)
Option C: Aus der Karte ziehen
- Suchen Sie die Objektkarte in der Kartenoberfläche
- Ziehen Sie die Objektkarte in den Schaltplan-Editor
- Legen Sie sie auf der Arbeitsfläche ab (innerhalb des gestrichelten Rahmens)
- Der Knoten wird automatisch erstellt, wobei der Geometrietyp erkannt wird
Schritt 3: Verbindungen (Kanten) hinzufügen
- Klicken Sie auf die Schaltfläche Kante hinzufügen
- Wählen Sie den Quellknoten aus der Dropdown-Liste aus
- Wählen Sie den Zielknoten aus der Dropdown-Liste aus
- Geben Sie optional eine Kantenbezeichnung ein (z. B. „Zuleitungen“, „Kapazität: 100 A“)
- Klicken Sie auf Bestätigen
Mehrere Kanten:
- Zwei gleiche Knoten können mehrere Kanten haben (unbegrenzt)
- Nützlich für bidirektionale Flüsse oder verschiedene Beziehungstypen
- Beispiel: Knoten A → Knoten B (Zufuhr), Knoten B → Knoten A (Rücklauf)
Schritt 4: Layout anordnen
Automatische Layouts (aus der Dropdown-Liste):
- Raster 2×2, 3×3, 4×4, 5×5 – Feste Rasteranordnungen
- Kreis – Knoten in einem Kreis angeordnet
- Breiten-zuerst – Hierarchisches Baumlayout (gerichtete Graphen)
- Konzentrisch – Ringe basierend auf der Konnektivität
- Zufällig – Knoten zufällig verteilen
Manuelle Positionierung:
- Layout-Voreinstellung auswählen oder überspringen
- Einzelne Knoten an die gewünschten Positionen ziehen
- Manuelle Positionen werden in den Versionsdaten gespeichert
- Manuelle Positionen haben Vorrang vor Layout-Algorithmen
Layout zurücksetzen:
- Auf die Schaltfläche Auto-Layout klicken → löscht alle manuellen Positionen
- Wendet den ausgewählten Layout-Algorithmus aus der Dropdown-Liste erneut an
Schritt 5: Elemente bearbeiten
Element auswählen:
- Klicken Sie auf einen beliebigen Knoten oder eine Kante auf der Arbeitsfläche
- Das Element-Editor-Fenster wird unten angezeigt
Knoteneigenschaften bearbeiten:
- Name – Anzeige-Bezeichnung (Inline-Bearbeitung oder Code-Editor)
- Geometrietyp – Punkt, Linienstring oder Polygon
- Feature-Link – featureId zur Verknüpfung mit einem Karten-Feature
- Benutzerdefinierte Eigenschaften – Beliebige Schlüssel-Wert-Daten hinzufügen
Kanteigenschaften bearbeiten:
- Bezeichnung – Beschreibung der Verbindung
- Quelle – Startknoten (Änderung über Code-Editor)
- Ziel – Endknoten (Änderung über Code-Editor)
Code-Editor (Erweitert):
- Klicken Sie im Element-Editor auf Code anzeigen
- Die JSON-Darstellung erscheint im Textfeld
- Direkt bearbeiten (vollständige Elementstruktur)
- Klicken Sie auf JSON formatieren, um den Code übersichtlich darzustellen
- Klicken Sie auf Änderungen übernehmen – das Element wird vor dem Speichern validiert
- Validierungsfehler werden angezeigt, wenn die Struktur ungültig ist
Element löschen:
- Element auswählen
- Klicken Sie im Element-Editor auf die Schaltfläche Löschen
- Ein Dialog zur Bestätigung des Löschvorgangs wird angezeigt
- Element entfernt (Änderung wird im Versionsverlauf protokolliert)
Layout-Konfiguration
Jeder Schaltplan speichert seinen bevorzugten Layout-Algorithmus in der Datenbank. Wenn Sie einen Schaltplan erneut öffnen, wird das gespeicherte Layout automatisch angewendet.
Persistentes Layout:
- Dropdown-Auswahl wird pro Schaltplan gespeichert
- Standard: Raster 3×3
- Änderung bleibt über Sitzungen hinweg erhalten
Manuell vs. Automatisch:
- Wenn IRGENDWELCHE Knoten manuelle Positionen haben → wird das „voreingestellte“ Layout verwendet (beachtet Positionen)
- Wenn KEINE manuellen Positionen vorhanden sind → wird der Algorithmus aus der Dropdown-Liste angewendet
- Klicken Sie auf Auto-Layout, um Positionen zu löschen und den Algorithmus erneut anzuwenden
Wechseln des Layouts:
- Ändern Sie die Auswahl in der Dropdown-Liste
- Das Layout wird sofort angewendet
- Alle manuellen Positionen werden gelöscht
- Das neue Layout wird in der Versionshistorie gespeichert
Versionsverwaltung
Schaltpläne verwenden dasselbe Versions-/Commit-System wie Kartenelemente.
Automatische Commits:
- Jede Änderung erstellt einen Versionseintrag
- Knoten hinzufügen/löschen → festgeschrieben
- Kante hinzufügen/löschen → festgeschrieben
- Element-Eigenschaften bearbeiten → festgeschrieben
- Layout ändern → festgeschrieben
Versionshistorie:
- Zugriff über den Versionsmanager (Karten-Symbolleiste)
- Alle Diagrammänderungen im Zeitverlauf überprüfen
- Auf vorherige Zustände zurücksetzen
- Offline-Bearbeitungen von Mitwirkenden zusammenführen
- Einreichen → Commit anfordern über die Symbolleiste; Nicht-Administratoren senden Entwürfe zur Genehmigung an die Admin-Warteschlange (siehe Admin → Versionen)
Offline-Bearbeitung:
- Schaltpläne offline erstellen/bearbeiten
- Änderungen werden lokal im Browserspeicher abgelegt
- Synchronisieren, sobald wieder online
- Konflikterkennung bei gleichzeitigen Bearbeitungen
Erweiterte Funktionen
Drag-and-Drop-Integration
Schemas lassen sich in das Drag-and-Drop-System von Aptli integrieren:
Von der Karte zum Schema:
- Feature-Karten aus den Ebenen-Panels ziehen
- Ausgewählte Elemente aus der Feature-Liste ziehen
- In den Arbeitsbereich des Schema-Editors ablegen
- Erstellt automatisch einen Knoten mit einem featureId-Link
Erkennung von Geometrietypen:
- Punkt-Features → Punkt-Symbol
- LineString-Features → Linien-Symbol
- Polygon-Features → Polygon-Symbol
- Symbole helfen dabei, Knotentypen auf einen Blick zu erkennen
Live-Code-Bearbeitung
Der Code-Editor bietet fortgeschrittenen Benutzern direkte JSON-Bearbeitung.
Validierung:
- Alle Bearbeitungen werden vor der Anwendung validiert
idist erforderlich (muss eine nicht leere Zeichenfolge sein)geometryTypemussPoint,LineStringoderPolygonsein (falls vorhanden)- Positionskoordinaten müssen Zahlen sein
- Kanten erfordern
sourceundtarget - Knoten dürfen kein
sourceodertargetenthalten
Anwendungsfälle:
- Massenänderungen von Eigenschaften (JSON kopieren und einfügen)
- Beziehungen ohne Benutzeroberfläche hinzufügen (manuelle Quelle/Ziel)
- Probleme mit der Datenstruktur beheben
- Element in ein anderes Schema kopieren
Mehrere Beziehungen
Im Gegensatz zu vielen anderen Diagrammtools unterstützt Aptli eine unbegrenzte Anzahl von Kanten zwischen denselben Knoten:
Beispiel – Bidirektionale Flüsse:
Transformer A → Service Point B (power supply, 240V)
Service Point B → Transformer A (telemetry data)
Transformer A → Service Point B (fault notifications)
Kein Duplikatsschutz:
- Bewusste Designentscheidung
- Einige Beziehungen sind tatsächlich doppelt vorhanden
- Der Benutzer ist für die Verwaltung der Kantenanzahl verantwortlich
- Der Code-Editor zeigt alle Kanten zur Überprüfung an
Benutzerdefinierte Eigenschaften
Sowohl Knoten als auch Kanten unterstützen benutzerdefinierte Eigenschaften:
Eigenschaften auf Schaltplanebene:
- Bearbeitung im Metadaten-Panel (oben im Editor)
- Schlüssel-Wert-Paare werden als JSON gespeichert
- Verwendung für diagrammweite Metadaten
- Beispiele: „voltage: 240V“, „network_segment: north“
Eigenschaften auf Elementebene:
- Bearbeitung über den Code-Editor (Datenobjekt)
- Hinzufügen beliebiger Felder über die Standardstruktur hinaus
- Zusätzliche Eigenschaften bleiben erhalten und werden zusammen mit dem Element gespeichert
- Beispiele: capacity, status, install_date
Integration mit Kartenobjekten
Objektverknüpfung (featureId):
- Knoten können über die ID auf Kartenobjekte verweisen
- Bidirektional: Klicken auf Schaltplan-Knoten → Hervorheben des Kartenobjekts
- Nützlich für Netzwerkdiagramme, die der realen Infrastruktur entsprechen
Unabhängige Knoten:
- Benutzerdefinierte Knoten benötigen keine Kartenelemente
- Nützlich für abstrakte Konzepte (Phasen, Prozesse, logische Gruppierungen)
- Kombinieren Sie verknüpfte und unabhängige Knoten im selben Diagramm
Hinweise zur Synchronisierung:
- Das Schema wird nicht automatisch aktualisiert, wenn ein verknüpftes Element gelöscht wird
- Verwaiste featureId werden als fehlend angezeigt (manuell bearbeiten)
- Zukünftige Verbesserung: automatische Bereinigung beim Löschen von Elementen
Best Practices
Wann Schemata verwendet werden sollten
Gute Anwendungsfälle:
- Netzwerktopologie, die auf der Karte schwer zu erkennen ist (dicht besiedelte Gebiete)
- Logische Abläufe, die nicht der Geografie entsprechen (Dienstleistungswege)
- Abhängigkeiten zwischen Geräten über große Entfernungen hinweg
- Mehrstufige Prozesse mit klarer Abfolge
- Modellierung von Beziehungen unabhängig vom Standort
Wann NICHT verwenden:
- Einfache räumliche Nähe (verwenden Sie stattdessen Kartenpuffer-Tools)
- Einmalige Visualisierungen (exportieren Sie GeoJSON und verwenden Sie externe Tools)
- Sich häufig ändernde Verbindungen (hoher Wartungsaufwand)
- Öffentlich zugängliche Diagramme (Schematics sind interne Tools)
Namenskonventionen
Schematische Namen:
- Seien Sie konkret: „Glasfaserspleißen im Nordbezirk“ statt „Glasfaser 1“
- Fügen Sie Datum/Version hinzu, wenn zeitbezogen: „Netzwerkplan Q4 2025“
- Verwenden Sie Standortangaben: „Transformator-Stromkreis A in der Innenstadt“
Knotennamen:
- Passen Sie die Namen an die Namen der Kartenelemente an, wenn diese verknüpft sind (automatisch ausgefüllt)
- Verwenden Sie für benutzerdefinierte Knoten eindeutige Bezeichnungen: „Stufe 3: Filtration“
- Vermeiden Sie allgemeine Bezeichnungen: „Knoten 1“, „Punkt A“
Kantenbeschriftungen:
- Beschreiben Sie die Beziehung: „speist“, „untersteht“, „hängt ab von“
- Geben Sie die Kapazität an: „100 A“, „10 Gbit/s“, „500 GPM“
- Verwenden Sie innerhalb desselben Schematyps eine einheitliche Terminologie
Tipps zur Versionsverwaltung
Commit-Häufigkeit:
- Jede Änderung wird automatisch gespeichert (keine manuellen Commits erforderlich)
- Der Versionsverlauf kann bei aktiven Diagrammen sehr lang werden
- Verwenden Sie die Versionskomprimierung, um Speicherplatz zu sparen (zukünftige Funktion)
Versionsbeschreibungen:
- Derzeit nicht in der Benutzeroberfläche erfasst (alle Commits werden automatisch generiert)
- Verwenden Sie Schemaeigenschaften, um wichtige Meilensteine festzuhalten
- Beispiel für eine Eigenschaft: „last_audit: 2025-02-14, auditor: jdoe“
Sicherheit bei Rollbacks:
- Testen Sie Rollbacks zunächst in einer Nicht-Produktionsumgebung
- Überprüfen Sie, ob alle verknüpften Elemente nach dem Rollback noch vorhanden sind
- Kommunizieren Sie mit dem Team vor größeren Rollbacks
Überlegungen zur Leistung
Große Diagramme:
- Bei mehr als 100 Knoten kann sich das Rendern verlangsamen
- Erwäge eine Aufteilung in mehrere Schaltpläne
- Verwende Layout-Algorithmen (schneller als manuelle Positionierung)
Komplexe Kanten:
- Viele Kanten zwischen denselben Knoten können sich überlappen
- Manuelle Positionierung hilft, überlappende Kanten zu trennen
- Zukünftige Verbesserung: Kantenführung/Bündelung
Mobile Nutzung:
- Der Schaltplan-Editor ist für den Desktop optimiert
- Die mobile Ansicht funktioniert, ist jedoch durch die Bildschirmgröße eingeschränkt
- Für die Bearbeitung wird mindestens ein Tablet empfohlen
Tastaturkürzel
Hinweis: Tastaturkürzel sind noch nicht implementiert. Zukünftige Verbesserung.
Geplant:
Delete-Taste zum Entfernen des ausgewählten ElementsCtrl+Z/Cmd+Zzum Rückgängigmachen (über Versions-Rollback)- Pfeiltasten zum Verschieben des ausgewählten Knotens
Ctrl+C/Ctrl+Vzum Kopieren und Einfügen von Knoten
Export und Freigabe
Aktuell:
- Schaltpläne werden in der Datenbank gespeichert (nicht als Dateien exportierbar)
- Freigabe über Benutzerberechtigungen (alle Benutzer mit Kartenzugriff sehen die Schaltpläne)
- Versionsverlauf bietet Prüfpfad
Zukünftige Verbesserungen:
- Export als PNG-/SVG-Bild
- Export als GraphML/Cypher für externe Tools
- Export als JSON für Sicherung/Migration
- URL generieren, um eine bestimmte Schaltplanansicht freizugeben
Fehlerbehebung
Knoten lässt sich nicht mit Feature verbinden
Problem: Knoten aus Kartenobjekt hinzugefügt, aber Verknüpfung funktioniert nicht
Lösung: Überprüfen Sie, ob der Knoten die Eigenschaft featureId hat (im Code-Editor nachsehen)
Problem: Objekt aus der Karte gelöscht, aber Knoten verweist weiterhin darauf
Lösung: Knoten manuell entfernen oder die Eigenschaft featureId löschen
Layout wird ständig zurückgesetzt
Problem: Manuelle Positionen werden nicht gespeichert
Lösung: Achten Sie darauf, dass Sie nach der Positionierung nicht auf Auto Layout klicken
Problem: Das Layout ändert sich beim erneuten Öffnen des Schaltplans
Lösung: Überprüfen Sie das Layout-Dropdown-Menü – manuelle Positionen werden gespeichert, aber die Algorithmus-Einstellung wird erneut angewendet, wenn die Positionen gelöscht werden
Änderungen nach der Bearbeitung sind nicht sichtbar
Problem: Code bearbeitet, aber im Diagramm hat sich nichts geändert
Lösung: Überprüfen Sie den Code-Editor auf Validierungsfehler und klicken Sie auf die Schaltfläche Aktualisieren, um ihn neu zu initialisieren
Diagramm läuft langsam
Problem: Verzögerungen beim Ziehen von Knoten oder Hinzufügen von Elementen
Lösung: Reduzieren Sie die Anzahl der Knoten (teilen Sie sie auf mehrere Schaltpläne auf), vereinfachen Sie die Anzahl der Kanten und vermeiden Sie das automatische Layout bei großen Graphen
Verwandte Dokumentation
- Kartenkonzepte – Funktionsweise von Kartenobjekten und Interaktion mit ihnen
- Versionsverwaltung – Von Schaltplänen verwendeter Versions- und Commit-Workflow
- Interaktion mit Kartenobjekten – Auswählen, Bearbeiten und Arbeiten mit Objekten