Guten Morgen,

mittlerweile gibt es eine Lösung (Dank an Jens Thiele). In der letzten Klammer wird der Begriff eingetragen, nach dem gefiltert werden soll.

import re
from qgis.PyQt.QtCore import *

def get_toc_layers_2(group):
    r=[]
    for child in group.children():
        if isinstance(child, QgsLayerTreeLayer):
            r.append(child.layer())
        else:
            r=r+get_toc_layers_2(child)
    return r

def get_toc_layers():
    return get_toc_layers_2(QgsProject.instance().layerTreeRoot())

def select_layers_by_regexp(s):
    for l in get_toc_layers():
        matched=bool(re.search(s, l.name()))
        if matched:
            node=QgsProject.instance().layerTreeRoot().findLayer(l.id())
            node.setItemVisibilityChecked(matched)
            print(l.name())

select_layers_by_regexp('Befunde_poly')



Schönes Wochenende allseits

Am 26.01.2023 um 16:23 schrieb Ute Heuer:
Hallo Christiane,

Danke für den Tip. Das ist aber nicht so ganz das Richtige bzw. ist das zu umständlich. Es geht um ein Projekt mit sehr vielen gruppierten Layern, da wäre es gut, wenn das mit einem Klick quasi geht ohne vorher alles an - oder auszuschalten.

Ich hab versucht, ob mit dem Ausdruck "layer_property" den richtigen Ausdruck zu erstellen. Aber das hat auch noch keinen Erfolg erbracht und ich weiss auch nicht, ob das damit überhaupt funktioniert.

Am 26.01.2023 um 15:31 schrieb Chr. Enderle:
Hallo Ute,

zumindest kann man in der Layerliste mit dem Button "Kartenthemen verwalten" (Auge als Icon) so genannte Kartenthemen definieren. Dafür stellt man einmal alle Layer, die zu einem Thema gehören sollen, sichtbar und alle anderen unsichtbar und definiert diese Einstellung mit dem Button als neues Thema und kann es unter diesem Button auch jederzeit wieder aufrufen. Wenn ein neuer Layer in das Thema aufgenommen werden soll, muss man "Thema ersetzen" wählen. Vielleicht ist das praktikabel.

Möglicherweise gibt es aber noch elegantere Lösungen.

Viele Grüße,

Christiane

Am 26.01.2023 um 14:59 schrieb Ute Heuer:
Liebe Liste,

gibt es eine Möglichkeit Layer im Layerfenster nach Namen zu filtern? Unsere Ausgrabungen werden nach Schnitten und Plana aufgeteilt. DIe Objekte befinden sich daher ebenfalls in Layern, die nach Schnitt und Planum variieren, z.B. S1_PL1_Befunde_poly, S2_PL1_Befunde_poly usw.

Kann man diese Layer automatisch bzw. über Filter ("zeige alle Layer mit Befunde_poly") gleichzeitig an- und ausschalten? Also wahrscheinlich geht das schon aber der Weg dahin scheint etwas steinig ;-).

Viele Grüße

Ute


--
________________________
Ute Heuer M.A.
fodilus GmbH

Mail: [email protected]

------------------------------------------
ƒodilus GmbH
Büro für Archäologie und Grabungstechnik
Hirschauer Str. 32
D-72108 Rottenburg-Wurmlingen
Tel.: +49(0)7472 - 16 70 541
Fax: +49(0)32 - 22 700 50 19
Mail: [email protected]

Handelsregister beim Amtsgericht Stuttgart: HRB Nr. 758210
Geschäftsführer: Dr. Ralf Keller, Sascha Schmidt M. A., Dr. Gerd Stegmaier
Umsatzsteuer-ID DE308730820
www.fodilus.de - Forschung · Dienstleistung · fachliche Untersuchung
____________________________________________________________________

--
....................................................................
FOSSGIS-Konferenz 2023 mit OpenStreetMap-Event in Berlin!
15.-18. März 2023 an der Humboldt-Universität
https://www.fossgis-konferenz.de - https://twitter.com/FOSSGIS_Konf

FOSSGIS Vereinstermine:
https://fossgis.de/aktivit%C3%A4ten/termine/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/          https://mastodon.online/@FOSSGISeV
                                 https://twitter.com/FOSSGIS_Verein
____________________________________________________________________
FOSSGIS-Talk-Liste mailing list
[email protected]
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste

Antwort per Email an