X_STYLES - QGIS Plugin
Version 1.0.0
Übersicht
X_STYLES ist ein QGIS-Plugin zur automatischen Zuweisung von standardisierten
Zeichenvorschriften (Styles) für XPlanGML-Dateien. Das Plugin ermöglicht eine sofortige,
standardkonforme Darstellung von Raumplanungsdaten direkt nach dem Import in QGIS.
Hauptfunktionen
- Automatische Zuweisung von QML-Styles für XPlanGML-Layer
- Unterstützung für Bebauungspläne (BP), Flächennutzungspläne (FP) und Regionale Raumordnungsprogramme (RP)
- Intelligente Erkennung von Punkt-, Linien- und Flächengeometrien
- Konfigurierbare Darstellungsreihenfolge (z-Index) zur optimalen Lesbarkeit
- YAML-basierte Konfiguration für einfache Anpassungen ohne Code-Änderungen
- Optionale Sortierung des Layer-Baums
- Automatische Layer-Umbenennung mit Geometrie-Suffix
Installation
Installation über QGIS Plugin Manager
- Öffnen Sie QGIS
- Gehen Sie zu
Erweiterungen → Erweiterungen verwalten und installieren...
- Suchen Sie nach "X_STYLES"
- Klicken Sie auf "Installieren"
Manuelle Installation
- Laden Sie das Plugin-Archiv herunter
- Entpacken Sie das Archiv in Ihr QGIS-Plugin-Verzeichnis:
- Windows:
C:\Users\[Benutzername]\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\
- macOS:
~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/
- Linux:
~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/
- Starten Sie QGIS neu
- Aktivieren Sie das Plugin unter
Erweiterungen → Erweiterungen verwalten und installieren...
Verwendung
Grundlegende Nutzung
- Laden Sie eine oder mehrere XPlanGML-Dateien in QGIS (über
Layer → Layer hinzufügen → Vektorlayer hinzufügen...)
- Klicken Sie auf das X_STYLES-Icon in der Werkzeugleiste
- Das Plugin wendet automatisch die entsprechenden Styles auf alle erkannten XPlan-Layer an
- Eine Erfolgsmeldung zeigt an, welche Layer gestylt wurden
Tipp: Das Plugin erkennt automatisch den Layer-Typ (BP, FP, RP) anhand des Layer-Namens
und wendet die passenden Styles an.
Einstellungen konfigurieren
Über das Dropdown-Menü des X_STYLES-Icons können Sie die Einstellungen öffnen:
- Klicken Sie auf den Pfeil neben dem X_STYLES-Icon
- Wählen Sie
Settings
- Konfigurieren Sie die folgenden Optionen:
Verfügbare Einstellungen
| Option |
Beschreibung |
| FP Style |
Aktiviert spezielle Styles für Flächennutzungspläne aus dem FP-Verzeichnis |
| RP Style |
Aktiviert spezielle Styles für Regionale Raumordnungsprogramme aus dem RP-Verzeichnis |
| Custom Layer Order |
Wendet eine benutzerdefinierte Darstellungsreihenfolge basierend auf z-Index an |
| Sort Layer Tree |
Sortiert die Layer im Layerbaum entsprechend der Darstellungsreihenfolge |
| Rename Layers |
Fügt Geometrie-Suffix zu Layer-Namen hinzu (_p für Punkt, _l für Linie, _a für Fläche) |
| Base Style Directory |
Verzeichnis mit den Basis-QML-Dateien und manifest.yaml |
| FP Style Directory |
Optionales Verzeichnis mit spezifischen FP-Styles (überschreibt Basis-Styles) |
| RP Style Directory |
Optionales Verzeichnis mit spezifischen RP-Styles (überschreibt Basis-Styles) |
Erweiterte Konfiguration
Die manifest.yaml Datei
Das Herzstück der Style-Verwaltung ist die manifest.yaml Datei im Base-Style-Verzeichnis.
Diese Datei definiert die Zuordnung zwischen Layer-Namen und QML-Dateien.
Struktur der manifest.yaml
bp_anpflanzungbindungerhaltung:
PointGeometry:
path: BP_AnpflanzungBindungErhaltung_p.qml
zIndex: 115
LineGeometry:
path: BP_AnpflanzungBindungErhaltung_l.qml
zIndex: 120
PolygonGeometry:
path: BP_AnpflanzungBindungErhaltung_f.qml
zIndex: 131
Parameter-Erklärung
- Layer-Schlüssel (z.B.
bp_anpflanzungbindungerhaltung): Teilstring des Layer-Namens (Groß-/Kleinschreibung wird ignoriert)
- Geometrie-Typ:
PointGeometry, LineGeometry oder PolygonGeometry
- path: Relativer Pfad zur QML-Datei
- zIndex: Darstellungsreihenfolge (niedrige Werte = Vordergrund, hohe Werte = Hintergrund)
z-Index Konventionen
Empfohlene z-Index Bereiche:
- 0-99: Reserviert für zukünftige Verwendung
- 100-199: Bebauungspläne (BP)
- 200-299: Flächennutzungspläne (FP)
- 300-399: Regionale Raumordnungsprogramme (RP)
- 400-499: Landschaftsplanung
- 9999: Keine Darstellung
Innerhalb der Bereiche
- x5: Schrift/Beschriftungen
- x10: Signaturen/Symbole
- x20-x29: Linien
- x30-x39: Flächen (x30 oben, x39 unten)
Eigene Styles erstellen
QML-Dateien erstellen
- Stylen Sie einen Layer manuell in QGIS wie gewünscht
- Rechtsklick auf den Layer →
Eigenschaften → Symbologie
- Konfigurieren Sie die gewünschte Darstellung
- Klicken Sie auf
Stil → Stil speichern...
- Wählen Sie
Als QML-Stil-Datei...
- Speichern Sie die Datei im entsprechenden Style-Verzeichnis
Style in manifest.yaml eintragen
- Öffnen Sie die
manifest.yaml im Base-Style-Verzeichnis
- Fügen Sie einen neuen Eintrag nach dem Schema oben hinzu
- Speichern Sie die Datei
- Führen Sie das Plugin erneut aus, um die Änderungen zu testen
Wichtig: Der Layer-Schlüssel in der manifest.yaml muss als Teilstring
im Layer-Namen vorkommen. Das Plugin sucht case-insensitive (Groß-/Kleinschreibung wird ignoriert).
Fehlerbehebung
Plugin wendet keine Styles an
- Überprüfen Sie, ob die Layer tatsächlich XPlan-Layer sind
- Prüfen Sie die Layer-Namen - sie müssen Schlüsselwörter aus der manifest.yaml enthalten
- Kontrollieren Sie, ob die manifest.yaml im Base-Style-Verzeichnis vorhanden ist
- Öffnen Sie die Log-Meldungen (Ansicht → Bedienfelder → Protokollmeldungen) und suchen Sie nach "X_STYLES"
Falsche Styles werden angewendet
- Prüfen Sie die Reihenfolge der Einträge in der manifest.yaml - das erste Match wird verwendet
- Stellen Sie sicher, dass die Geometrie-Typen korrekt zugeordnet sind
- Überprüfen Sie die Pfade zu den QML-Dateien auf Tippfehler
Layer werden nicht in der richtigen Reihenfolge angezeigt
- Aktivieren Sie "Custom Layer Order" in den Einstellungen
- Überprüfen Sie die z-Index-Werte in der manifest.yaml
- Optional: Aktivieren Sie "Sort Layer Tree" für zusätzliche Sortierung im Layerbaum
YAML-Fehler
YAML ist einrückungsempfindlich! Verwenden Sie Leerzeichen (keine Tabs) und
achten Sie auf konsistente Einrückung (4 Leerzeichen pro Ebene empfohlen).
Beispiel-Workflow
Szenario: Flächennutzungsplan darstellen
- XPlanGML-Datei eines Flächennutzungsplans in QGIS laden
- Alle Layer werden zunächst mit Zufallsfarben dargestellt
- X_STYLES-Plugin öffnen → Settings
- "FP Style" aktivieren (falls spezielle FP-Styles vorhanden)
- "Custom Layer Order" aktivieren
- "Sort Layer Tree" aktivieren (optional)
- Einstellungen speichern
- X_STYLES-Plugin ausführen (Hauptbutton klicken)
- Alle FP-Layer erhalten nun standardisierte Styles
- Die Darstellungsreihenfolge ist optimiert (Punkte vor Linien vor Flächen)
- Der Layerbaum ist entsprechend sortiert
Technische Details
Systemanforderungen
- QGIS Version 3.2 oder höher
- Python 3.x (im Lieferumfang von QGIS enthalten)
- PyYAML Bibliothek (normalerweise in QGIS enthalten)
Verarbeitungsablauf
- Plugin liest die manifest.yaml Konfiguration
- Alle geladenen Vector-Layer werden durchsucht
- Für jeden Layer wird geprüft, ob der Name einen Schlüssel aus der manifest.yaml enthält
- Bei einem Match wird der Geometrie-Typ des Layers ermittelt
- Die entsprechende QML-Datei wird geladen und auf den Layer angewendet
- Der Layer wird gemäß z-Index einsortiert
- Optional: Layer werden im Layerbaum neu sortiert
- Optional: Layer werden mit Geometrie-Suffix umbenannt
- Die Kartenansicht wird aktualisiert
Dateistruktur des Plugins
x_styles/
├── __init__.py
├── mainPlugin.py
├── metadata.txt
├── x_styles_master_dialog.py
├── x_styles_master_dialog_base.ui
├── icons/
│ └── X_STYLES.PNG
├── styles/
│ ├── base/
│ │ ├── manifest.yaml
│ │ └── *.qml (QML-Style-Dateien)
│ ├── fp/ (optional)
│ │ └── *.qml
│ └── rp/ (optional)
│ └── *.qml
└── help/
└── index-de.html
Lizenz
Dieses Plugin wird unter der GNU General Public License Version 2 veröffentlicht.
Sie können es frei verwenden, modifizieren und weitergeben.
Support und Kontakt
Mitwirken
Beiträge zum Projekt sind willkommen! Sie können:
- Fehler melden über den Issue Tracker
- Neue Styles für weitere XPlan-Klassen beisteuern
- Die Dokumentation verbessern
- Übersetzungen beisteuern
- Pull Requests mit Verbesserungen einreichen
Danksagungen
Dieses Plugin wurde mit dem QGIS Plugin Builder erstellt.
XPlanung-Standard: Leitstelle XPlanung/XBau Hamburg
© 2024 Cornelio Hopmann Lopez | X_STYLES v1.0.0