Keine Angst vor Ausdr\xfccken im QGIS!\nLive geht es um:\n-Case und if f\xfcr Bedigungen.\n-Mit coalesce(), concat() etc. nie mehr \xfcber NULL-Werte stolpern.\n-Joins mit attribute() und get_feature() simulieren.\n-1:N-Beziehungen und r\xe4umliche Abfragen mit aggregate() und overlay() umsetzen.\n-Was hat es mit diesen Arrays auf sich?.\n-Mit with_variable() Ausdr\xfccke lesbar gestalten.\n-Geometriefunktionen in Berechnungen integrieren.\n-Wie helfen diese merkw\xfcrdigen regul\xe4ren Ausdr\xfccke bei regexp_..()\n\nF\xfcr Abfragen und Berechnungen gibt es im QGIS den Ausdruckseditor, der in unterschiedlichen Gestalten an den verschiedensten Stellen den Nutzern zu Diensten ist.\n\nWer vor 12 Jahren ins QGIS einstieg, dem begenete der Ausdruckseditor als ein \xfcbersichtliches Werkzeug, mit dem im Wesentlichen Vergleiche (< > =). Grundrechenarten und Verkettungen m\xf6glich waren. Mit like lie\xdfen sich schon Platzhalter verwenden und nat\xfcrlich konnten Fl\xe4chen und Strecken ermittelt werden. Viel mehr gab es zun\xe4chst nicht. Heute soll schon mancher Einsteiger nach dem ersten Anblick der Funktionsvielfalt laut schreiend davon gelaufen sein. Das ist schade, denn der Ausdruckseditor bringt aussergew\xf6hnliche M\xf6glichkeiten mit und ist inzwischen viel mehr als ein Abfrageeditor f\xfcr den einzelnen Layer.\nThema der Livedemo sind Funktionen, die sehr n\xfctzlich sind, deren Einsatzzweck sich aber vielen Anwender/innen nicht sofort erschlie\xdft bzw. deren Anwendung als sperrig gilt:\n\nCase und if f\xfcr bedingte Fragestellungen einsetzen, um\nz.B. die Schriftgr\xf6\xdfe von Ortnamen nach der Einwohnerzahl steuern.\n\nMit coalesce(), concat() etc. nie mehr \xfcber NULL-Werte stolpern.\n\nAuf externe Layer zugreifen:\nTabellenJoins mit attribute() und get_feature()simulieren sowie eins zu mehrfach-Beziehungen mit aggregate() auswerten. Dynamische r\xe4umliche Abfragen mit aggregate(...intersects($geometry,@parent(geometry) und overlay() verwirklichen. Damit lassen sich z.B. Anzahl und Leistung der Windanlagen aus einem Punktlayer in den Gemeinde-Polygonen dynamisch mitf\xfchren, ohne neue Layer \xfcber die Geoverarbeitung zu produzieren . \n\nAbfragen mit aggregate() und Overlay() ergeben Felder mit vielen Werten, die Listenfelder oder Arrays.\nWas hat es mit diesen Arrays auf sich? Der gezielte Zugriff auf einzelne Werte ist m\xf6glich. Mit den zugeh\xf6rigen Funktionen l\xe4sst sich sortieren, auswerten und f\xfcr jeden einzelnen Wert, wie in einer Schleife, Berechnungen und Abfragen durchf\xfchren.\n\nWerden die Ausdr\xfccke zu kompliziert, lassen sich Komplexe Teilausdr\xfccke mit with_variabel() als Variable widerverwenden,so dass auch komplexe Ausdr\xfccke lesbar bleiben.\n\nMit den Geometriefunktionen beschr\xe4nkt sich QGIS nicht auf die Fl\xe4chenberechnung. \nPufferfl\xe4chen, Verschneidungen und viele andere Geometrieoperationen lassen sich in Berechnungen integrieren.\n\nDie Suchen mit Platzhaltern \xfcber den like-Operator und die Auswahl von Teil-Zeichenketten mit substr(), strpos() ist vielen QGIS-Nutzern ein Begriff. Auch der Umgang mit replace() ist weit verbreitet.\nAber was ist, wenn like, replace(), substr() und strpos() nicht ausreichten? Da helfen diese merkw\xfcrdigen regul\xe4ren Ausdr\xfccke, die bei regexp_substr() und regexp_replace() anzuwenden sind.\nDamit lassen sich z.B. Stra\xdfe Hausnummer und Hausnummererweiterung einfach trennen und vieles andere in Textwerten suchen und ersetzen.\nabout this event: https://pretalx.com/fossgis2024/talk/RPPD8V/