try2 und try3 laden das Verfahrensgebiet mit Detailprüfung anstelle der Flurstücke vom wfs
This commit is contained in:
@@ -254,6 +254,7 @@ def _vergleiche_flaechen(
|
||||
|
||||
def verfahrensgebiet_alkis_komplett(
|
||||
tab_widget,
|
||||
silent: bool = False,
|
||||
) -> Tuple[Optional[object], Optional[object], Optional[object], LoadStatus]:
|
||||
"""Vollständiger VG-Lade-Workflow: ALKIS-VG → Gemarkungen →
|
||||
Flurstücke → Verschneidung → Flächenvergleich → opt. Umringsprüfung.
|
||||
@@ -276,6 +277,15 @@ def verfahrensgebiet_alkis_komplett(
|
||||
----------
|
||||
tab_widget :
|
||||
Eltern-Widget für alle Dialoge.
|
||||
silent :
|
||||
Automatisierter Modus ohne Nutzerentscheidungen: bestehender
|
||||
VG-Layer wird ohne Nachfrage neu geladen, mehrdeutige
|
||||
BROR-Kombinationen werden automatisch aufgelöst, bei
|
||||
Flächenabweichung wird immer die Detailprüfung gestartet (nie „als
|
||||
VG laden“, nie abbrechen), und die beiden rein informativen
|
||||
Abschluss-Meldungen (Flächenvergleich-OK, Detailprüfung
|
||||
abgeschlossen) werden unterdrückt. Die Fortschrittsdialoge bleiben
|
||||
sichtbar.
|
||||
|
||||
Returns
|
||||
-------
|
||||
@@ -305,7 +315,7 @@ def verfahrensgebiet_alkis_komplett(
|
||||
if progress.is_canceled():
|
||||
return None, None, None, LoadStatus.NONE
|
||||
|
||||
alkis_vg_layer, vg_status, _ = verfahrensgebiet_alkis(tab_widget)
|
||||
alkis_vg_layer, vg_status, _ = verfahrensgebiet_alkis(tab_widget, silent=silent)
|
||||
progress.raise_to_front()
|
||||
|
||||
if vg_status == LoadStatus.NONE or not alkis_vg_layer:
|
||||
@@ -426,29 +436,34 @@ def verfahrensgebiet_alkis_komplett(
|
||||
if stimmt_ueberein:
|
||||
progress.set_value(7)
|
||||
progress.close()
|
||||
show_info_dialog(
|
||||
"Flächenvergleich",
|
||||
"Verfahrensgebiet mit erwarteter Geometrie erzeugt",
|
||||
parent=tab_widget,
|
||||
)
|
||||
if not silent:
|
||||
show_info_dialog(
|
||||
"Flächenvergleich",
|
||||
"Verfahrensgebiet mit erwarteter Geometrie erzeugt",
|
||||
parent=tab_widget,
|
||||
)
|
||||
abgeschlossen = True
|
||||
return enriched_layer, flst_layer, alkis_vg_layer, vg_status
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Flächenabweichung → 3-Optionen-Dialog
|
||||
# Flächenabweichung → 3-Optionen-Dialog (im silent-Modus: immer
|
||||
# Detailprüfung, ohne Nachfrage)
|
||||
# ------------------------------------------------------------------
|
||||
progress.close()
|
||||
diff = abs(bror_flaeche - vg_flaeche)
|
||||
entscheidung = ask_detailpruefung_oder_vg_laden(
|
||||
tab_widget,
|
||||
"Abweichung erkannt",
|
||||
f"Abweichung zwischen BauRaumOderBodenordnungsrecht-Objekt und abgeleitetem "
|
||||
f"Verfahrensgebiet erkannt.\n\n"
|
||||
f"As: {bror_flaeche:.2f} m²\n"
|
||||
f"Verfahrensgebiet: {vg_flaeche:.2f} m²\n"
|
||||
f"Differenz: {diff:.2f} m²\n\n"
|
||||
f"Wie möchten Sie fortfahren?",
|
||||
)
|
||||
if silent:
|
||||
entscheidung = "detailpruefung"
|
||||
else:
|
||||
entscheidung = ask_detailpruefung_oder_vg_laden(
|
||||
tab_widget,
|
||||
"Abweichung erkannt",
|
||||
f"Abweichung zwischen BauRaumOderBodenordnungsrecht-Objekt und abgeleitetem "
|
||||
f"Verfahrensgebiet erkannt.\n\n"
|
||||
f"As: {bror_flaeche:.2f} m²\n"
|
||||
f"Verfahrensgebiet: {vg_flaeche:.2f} m²\n"
|
||||
f"Differenz: {diff:.2f} m²\n\n"
|
||||
f"Wie möchten Sie fortfahren?",
|
||||
)
|
||||
|
||||
if entscheidung == "abbrechen":
|
||||
abgeschlossen = True
|
||||
@@ -550,14 +565,15 @@ def verfahrensgebiet_alkis_komplett(
|
||||
if ergebnis_layer and ergebnis_layer.isValid():
|
||||
project.addMapLayer(ergebnis_layer)
|
||||
|
||||
show_info_dialog(
|
||||
"Detailprüfung abgeschlossen",
|
||||
f"Knickpunkte geprüft: {n_knick}\n"
|
||||
f" Identisch (grün): {identisch}\n"
|
||||
f" Kein PunktortTA (rot): {kein_pta}\n"
|
||||
f" Fehlende Knickpunkte (orange): {fehlender_knick}",
|
||||
parent=tab_widget,
|
||||
)
|
||||
if not silent:
|
||||
show_info_dialog(
|
||||
"Detailprüfung abgeschlossen",
|
||||
f"Knickpunkte geprüft: {n_knick}\n"
|
||||
f" Identisch (grün): {identisch}\n"
|
||||
f" Kein PunktortTA (rot): {kein_pta}\n"
|
||||
f" Fehlende Knickpunkte (orange): {fehlender_knick}",
|
||||
parent=tab_widget,
|
||||
)
|
||||
|
||||
abgeschlossen = True
|
||||
return enriched_layer, flst_layer, alkis_vg_layer, vg_status
|
||||
|
||||
Reference in New Issue
Block a user