Umringsprüfung-Segmentbasiert
This commit is contained in:
+43
-4
@@ -138,15 +138,16 @@ class WorkingTab(QWidget):
|
||||
self._restore_verf_layer_selection()
|
||||
|
||||
def handle_verf_alkis(self) -> None:
|
||||
"""Startet den vollständigen VG-Lade-Workflow (ALKIS → Gemarkungen → Flurstücke → Verschneidung).
|
||||
"""Startet den vollständigen VG-Lade-Workflow (ALKIS → Gemarkungen → Flurstücke →
|
||||
Verschneidung → Flächenvergleich → opt. Umringsprüfung).
|
||||
|
||||
Delegiert an :func:`~sn_verfahrensgebiet.functions.verfahrensgebiet_alkis_komplett.verfahrensgebiet_alkis_komplett`.
|
||||
Nach Erfolg werden enriched VG-Layer und Flurstücks-Layer ins Projekt eingefügt,
|
||||
Styles angewendet und die UI-Elemente aktualisiert.
|
||||
Nach Erfolg werden enriched VG-Layer, Flurstücks-Layer und BROR-Layer
|
||||
ins Projekt eingefügt, Styles angewendet und die UI-Elemente aktualisiert.
|
||||
"""
|
||||
self._set_busy(self.btn_verf_alkis, True, "Aus ALKIS laden")
|
||||
try:
|
||||
enriched_layer, flst_layer, status = verfahrensgebiet_alkis_komplett(self)
|
||||
enriched_layer, flst_layer, bror_layer, status = verfahrensgebiet_alkis_komplett(self)
|
||||
|
||||
if status == LoadStatus.NONE or not enriched_layer:
|
||||
set_verfahrensgebiet_layer_id("")
|
||||
@@ -162,6 +163,10 @@ class WorkingTab(QWidget):
|
||||
apply_style(flst_layer, "GIS_Flst_Beschriftung_ALKIS_NAS.qml")
|
||||
self.setze_haken(self.haken_flurst, True)
|
||||
|
||||
# BROR-Layer: einfache Darstellung setzen (roter Umring, transparent)
|
||||
if bror_layer and bror_layer.isValid():
|
||||
_setze_bror_stil(bror_layer)
|
||||
|
||||
# Enriched VG-Layer ins Projekt
|
||||
project.addMapLayer(enriched_layer)
|
||||
apply_style(enriched_layer, "verfahrensgebiet.qml")
|
||||
@@ -430,3 +435,37 @@ class WorkingTab(QWidget):
|
||||
# self._set_busy(self.btn_grenz_alkis, False, "Grenzpunkte aus ALKIS laden")
|
||||
from sn_basis.functions.message_wrapper import warning as _warn
|
||||
_warn("Grenzpunkte", "Grenzpunkt-Pipeline ist noch nicht implementiert.", duration=5)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Modul-Hilfsfunktionen
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def _setze_bror_stil(layer) -> None:
|
||||
"""Setzt eine einfache Darstellung für den BauRaumOrdnungsrecht-Layer.
|
||||
|
||||
Roter Umring, halbtransparente Füllung; kein QGIS-Kontext → stilles Ignorieren.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
layer :
|
||||
BauRaumOrdnungsrecht-Memory-Layer (Polygon).
|
||||
"""
|
||||
try:
|
||||
from qgis.core import ( # type: ignore[import]
|
||||
QgsSimpleFillSymbolLayer,
|
||||
QgsFillSymbol,
|
||||
QgsSingleSymbolRenderer,
|
||||
)
|
||||
from qgis.PyQt.QtGui import QColor # type: ignore[import]
|
||||
from qgis.PyQt.QtCore import Qt # type: ignore[import]
|
||||
|
||||
fill = QgsSimpleFillSymbolLayer()
|
||||
fill.setColor(QColor(220, 50, 50, 40)) # halbtransparent rot
|
||||
fill.setStrokeColor(QColor(220, 50, 50))
|
||||
fill.setStrokeWidth(0.8)
|
||||
symbol = QgsFillSymbol([fill])
|
||||
layer.setRenderer(QgsSingleSymbolRenderer(symbol))
|
||||
layer.triggerRepaint()
|
||||
except Exception:
|
||||
pass # Kein QGIS-Kontext (Tests, Mock-Modus) → Standarddarstellung
|
||||
|
||||
Reference in New Issue
Block a user