[FOSSGIS-Talk] Mit PyQGIS die "Klassifizieren-Taste" in der kategorisierten Darstellung auslösen

Christoph Jung jagodki.cj at gmail.com
Mi Mär 3 19:42:24 CET 2021


Hallo Claas,

Wenn du den Layer-Style als QML oder SLD im Filesystem vorliegen hast, kannst du mit folgendem Python-Code eine solche Style-Datei einem Vektor-Layer zuordnen:

layer.loadNamedStyle(style_path, loadFromLocalDb=False)

Unabhängig von Raster oder Vektor kann man einem beliebigen Layer auch über folgende beide Methoden einen Style zuordnen (entweder aus dem Filesystem, oder aus einer Datenbank):

https://qgis.org/pyqgis/master/core/QgsMapLayer.html?highlight=loadnamedstyle#qgis.core.QgsMapLayer.loadNamedStyle <https://qgis.org/pyqgis/master/core/QgsMapLayer.html?highlight=loadnamedstyle#qgis.core.QgsMapLayer.loadNamedStyle>
https://qgis.org/pyqgis/master/core/QgsMapLayer.html?highlight=loadnamedstyle#qgis.core.QgsMapLayer.loadNamedStyleFromDatabase <https://qgis.org/pyqgis/master/core/QgsMapLayer.html?highlight=loadnamedstyle#qgis.core.QgsMapLayer.loadNamedStyleFromDatabase>

Viele Grüße,
Christoph

> Am 03.03.2021 um 17:17 schrieb Claas Leiner <claas.leiner at gkg-kassel.de>:
> 
> Ja,
> 
> vielen Dank: Das ear noch eine gute Anregung.
> 
> Wenn ich schon einmal dabei bin, habe ich noch eine Frage.
> Vielleicht kennst Du  oder jemand andesre sich auch damit aus.
> 
> Mit einer weiteren Schaltfläche möchte ich den Layer Kategorisiert
> darstellen.
> Um das umzusetzen, bin soweit gekommen. den kategoriserte Symbolrenderer
> mit PyQgis einzuschalkten und das richtige Attribut auszuwählen.
> Allerdings werden die Punkte nicht dargestellt. Es fehlt praktisch der
> Klick auf die "Klassifizieren-Taste" Eben üner PyQgis..
> 
> bisher sieht der Code so aus:
> --------
> vlayer = qgis.utils.iface.activeLayer()
> renderer = QgsCategorizedSymbolRenderer()
> renderer.setClassAttribute('art_d')
> vlayer.setRenderer(renderer)
> 
> # Hier fehlt etwas entscheidendes,
> # damit die Klassifikation auch durchgeführt wird.
> # Wie drücke ich mit PYQGIS auf die "Klassifizieren-Taste?
> 
> vlayer.triggerRepaint()
> iface.layerTreeView().refreshLayerSymbology(vlayer.id())
> 
> ---------------
> Cool wäre auch, wenn ich vorher einen vorhandenen benannten Stil über
> PyQGIS einstellen könnte. Also das, was in der Gui über die Schaltfläche
> "Stil" umsetzen kann, wenn vorher Stilnamen hinzugefügt wurden.
> 
> Viele Grüße,
> 
> Claas
> 
> -- 
> -----------------------------------------
> GKG-Kassel - Dr.-Ing. Claas Leiner
> QGIS-Support und mehr
> 
> Geodatenservice, Kartenwerkstatt &
> GIS-Schule Kassel
> 
> Wilhelmshöher Allee 304 E
> 34131 Kassel
> Tel. 0561/56013445
> claas.leiner at gkg-kassel.de
> ----------------------------------------
> http://www.gkg-kassel.de
> ----------------------------------------
> Unterstützen Sie QGIS
> QGIS-DE e.V. | http://qgis.de
> QGIS Projekt | http://qgis.org/de/site/
> -- 
> ....................................................................
> FOSSGIS Veranstaltungen
> https://www.fossgis.de/news/fossgis-events/
> 
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> https://www.fossgis.de/             https://twitter.com/fossgis_eV
> 
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste



Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste