[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