try2 und try3 laden das Verfahrensgebiet mit Detailprüfung anstelle der Flurstücke vom wfs

This commit is contained in:
2026-08-26 16:08:01 +02:00
parent 2cb6193b98
commit 6bc5256d5f
4 changed files with 287 additions and 148 deletions
+13 -1
View File
@@ -72,11 +72,17 @@ def _check_existing_layer(tab_widget):
return existing_layers[0], LoadStatus.KEEP
def verfahrensgebiet_alkis(tab_widget, skip_existing_check: bool = False):
def verfahrensgebiet_alkis(tab_widget, skip_existing_check: bool = False, silent: bool = False):
"""Lädt Verfahrensgebiet aus ALKIS-WFS basierend auf Verfahrensnummer.
Args:
tab_widget: Parent-Widget für Dialoge und Meldungen
skip_existing_check: Überspringt die Nachfrage bei bereits vorhandenem
Layer (immer neu laden).
silent: Automatisierter Modus ohne Nutzerinteraktion. Impliziert
``skip_existing_check=True`` und wählt bei mehreren
BROR-Kombinationen automatisch die erste (sortierte) statt den
Nutzer per Dialog entscheiden zu lassen.
Returns:
Tuple[Optional[QgsVectorLayer], LoadStatus, List[QgsFeature]]:
@@ -92,6 +98,8 @@ def verfahrensgebiet_alkis(tab_widget, skip_existing_check: bool = False):
"In den Projekteigenschaften ist noch keine Verfahrensnummer eingetragen!")
return None, LoadStatus.NONE, []
skip_existing_check = skip_existing_check or silent
# Vorhandenen Layer prüfen (überspringbar für die Shape-Pipeline)
status = LoadStatus.FIRST
if not skip_existing_check:
@@ -136,6 +144,10 @@ def verfahrensgebiet_alkis(tab_widget, skip_existing_check: bool = False):
if len(kombinationen) == 1:
selected_key = next(iter(kombinationen))
selected_feats = kombinationen[selected_key]
elif silent:
# Automatisierter Modus: erste (sortierte) Kombination ohne Nachfrage
selected_key = sorted(kombinationen.keys())[0]
selected_feats = kombinationen[selected_key]
else:
# Mehrere Kombinationen → Nutzerauswahl
key_list = sorted(kombinationen.keys())