Die Visualisierung von Daten erfordert oft flexible Lösungen, die über die statische Anzeige vorhandener Geometrien hinausgehen. In Projekten des Leitungsmanagements oder der Netzplanung stehen Anwender oft vor der Aufgabe, punktförmige Zusatzinformationen direkt aus der Attributtabelle eines Linienlayers zu generieren oder spezifische Positionen entlang eines Trassenverlaufs zu markieren.
Mit dem Geometrie-Generator bietet QGIS ein mächtiges Werkzeug, um diese Anforderungen ohne redundante Datenhaltung umzusetzen. Dazu zeigen wir zwei Anwendungsfälle aus der Praxis: die Einbindung von X/Y-Koordinaten aus Sachdaten und die pfadtreue Punktinterpolation.
Integration von Koordinaten aus der Attributtabelle
Häufig liegen Datenbestände vor, bei denen Linienobjekte (z. B. Haltungen oder Kabeltrassen) zusätzliche Koordinatenpaare für Armaturen oder Messpunkte in den Attributspalten mitführen (z. B. punkt_x und punkt_y). Um diese Punkte dynamisch im Kartenfenster darzustellen, wird innerhalb der Symbolebene des Linienlayers eine neue Ebene vom Typ „Geometrie-Generator“ erstellt.
Da diese Koordinaten oft in einem globalen System wie WGS 84 (EPSG:4326) vorliegen, die Projektdarstellung jedoch meist in einem lokalen Metersystem wie ETRS89 / UTM erfolgt, ist eine On-the-fly-Transformation unerlässlich.
Der entsprechende Ausdruck für den Geometrie-Generator lautet:
if("null_x" IS NOT NULL AND "null_y" IS NOT NULL, \
transform(make_point("punkt_x", "punkt_y"), 'EPSG:4326', @layer_crs), NULL)
Dieser Ansatz stellt sicher, dass nur bei vorhandenen Werten ein Punkt generiert wird, während gleichzeitig die korrekte geodätische Positionierung im Layer-CRS gewährleistet bleibt.
Punktlandung: Exakte Mittelpunkt-Interpolation
Ein weiterer häufiger Bedarf in der Netzplanung ist die Kennzeichnung des exakten Mittelpunkts eines Linienobjekts. Während eine einfache Schwerpunktberechnung (centroid) bei kurvigen Linien oft dazu führt, dass der Punkt abseits der Geometrie liegt, erlaubt die Funktion "line_interpolate_point" eine geometrisch exakte Platzierung auf dem Pfad.
Um den Punkt bei exakt 50 % der Linienlänge zu positionieren, wird folgender Ausdruck verwendet:
line_interpolate_point($geometry, $length / 2)
Dies garantiert eine pfadtreue Darstellung, die insbesondere bei der Beschriftung oder der Platzierung von Wartungssymbolen in komplexen Netzen von Bedeutung ist.
Fazit
Die Umsetzung dieser dynamischen Symbolisierung bietet eine Reihe funktionaler Vorteile für die tägliche Arbeit mit QGIS in GIS-Infrastrukturen:
- Vermeidung von Datenredundanz: Es ist kein zusätzlicher Punkt-Layer erforderlich; die Darstellung erfolgt ausschließlich auf Basis der Linien-Attribute.
- Geodätische Präzision: Durch die Integration der transform-Funktion werden Koordinaten projektionsübergreifend korrekt berechnet.
- Interaktive Aktualisierung: Jede Änderung an den X/Y-Werten in der Attributtabelle wird zur Laufzeit ohne manuelles Eingreifen visualisiert.
- Gestaltungsfreiheit: Die generierten Punkte können mit dem vollen Umfang der QGIS-Stilbibliothek (SVG-Symbole, Marker-Stile) aufbereitet werden.
Der Einsatz des QGIS Geometrie-Generators ist ein Beispiel für die Leistungsfähigkeit von Open-Source-Lösungen in der modernen Geoinformatik. Er reduziert den Pflegeaufwand in der GDI und erhöht die Flexibilität bei der Darstellung technischer Sachverhalte.