Statisitik Umringsgrenzpunkte ergänzt
This commit is contained in:
+46
-1
@@ -16,8 +16,9 @@ from qgis.utils import iface
|
||||
from sn_verfahrensgebiet.functions.verfahrensgebiet_alkis import LoadStatus
|
||||
from sn_verfahrensgebiet.functions.flurstueck_alkis import flurstueck_alkis
|
||||
from sn_verfahrensgebiet.functions.verfahrensgebiet_alkis_komplett import verfahrensgebiet_alkis_komplett
|
||||
from sn_verfahrensgebiet.functions.grenzpunkt_alkis import grenzpunkte_gemarkungsweise
|
||||
from sn_verfahrensgebiet.functions.grenzpunkt_alkis import grenzpunkte_gemarkungsweise, JOINED_LAYER_NAME
|
||||
from sn_verfahrensgebiet.functions.gemarkung_alkis import gemarkung_schluessel_und_namen_von_vg_geometrie
|
||||
from sn_verfahrensgebiet.functions.umringstatistik_grenzpunkte import umringstatistik_grenzpunkte
|
||||
from sn_verfahrensgebiet.functions.verfahrensgebiet_edit_service import (
|
||||
pruefe_flurstueck_layer,
|
||||
pruefe_auswahl,
|
||||
@@ -104,6 +105,11 @@ class WorkingTab(QWidget):
|
||||
row_grenz_buttons.addWidget(self.btn_grenz_alkis)
|
||||
layout.addLayout(row_grenz_buttons)
|
||||
|
||||
row_umring_buttons = QHBoxLayout()
|
||||
self.btn_umring_statistik = QPushButton("Umringstatistik Grenzpunkte")
|
||||
row_umring_buttons.addWidget(self.btn_umring_statistik)
|
||||
layout.addLayout(row_umring_buttons)
|
||||
|
||||
# Abschnitt 3: Verfahrensgebiet erstellen
|
||||
row_verf_erstellen_header = QHBoxLayout()
|
||||
lbl_verf_erstellen = QLabel("<b>Verfahrensgebiet erstellen</b>")
|
||||
@@ -128,6 +134,7 @@ class WorkingTab(QWidget):
|
||||
self.btn_verf_alkis.clicked.connect(self.handle_verf_alkis)
|
||||
self.btn_flurst_alkis.clicked.connect(self.handle_flurst_alkis)
|
||||
self.btn_grenz_alkis.clicked.connect(self.handle_grenz_alkis)
|
||||
self.btn_umring_statistik.clicked.connect(self.handle_umringstatistik)
|
||||
self.btn_verf_aus_auswahl.clicked.connect(self.handle_verf_aus_auswahl)
|
||||
self.btn_verf_aus_liste.clicked.connect(self.handle_verf_aus_liste)
|
||||
# self.btn_verf_shape.clicked.connect(self.handle_verf_shape)
|
||||
@@ -488,6 +495,44 @@ class WorkingTab(QWidget):
|
||||
finally:
|
||||
self._set_busy(self.btn_grenz_alkis, False, "Grenzpunkte aus ALKIS laden")
|
||||
|
||||
def handle_umringstatistik(self) -> None:
|
||||
"""Klassifiziert Grenzpunkte auf dem VG-Umring nach Lagegenauigkeit.
|
||||
|
||||
Sucht den vorhandenen ``Grenzpunkte (ALKIS)``-Layer im Projekt und
|
||||
kombiniert ihn mit dem gewählten Verfahrensgebiet-Layer, um die
|
||||
Umringstatistik zu berechnen.
|
||||
"""
|
||||
# 1. Grenzpunkte-Layer aus dem Projekt holen
|
||||
project = QgsProject.instance()
|
||||
gp_layers = project.mapLayersByName(JOINED_LAYER_NAME)
|
||||
if not gp_layers:
|
||||
warning(
|
||||
"Umringstatistik",
|
||||
f"Kein Layer '{JOINED_LAYER_NAME}' im Projekt gefunden. "
|
||||
"Bitte zuerst 'Grenzpunkte aus ALKIS laden' ausführen.",
|
||||
duration=8,
|
||||
)
|
||||
return
|
||||
grenzpunkte_layer = gp_layers[0]
|
||||
|
||||
# 2. Verfahrensgebiet-Layer aus Dropdown
|
||||
vg_layer = self.verf_layer_combo.currentLayer()
|
||||
if not vg_layer or not vg_layer.isValid():
|
||||
warning(
|
||||
"Umringstatistik",
|
||||
"Kein Verfahrensgebiet-Layer gewählt. Bitte zuerst ein Verfahrensgebiet laden.",
|
||||
duration=6,
|
||||
)
|
||||
return
|
||||
|
||||
self._set_busy(self.btn_umring_statistik, True, "Umringstatistik Grenzpunkte")
|
||||
try:
|
||||
result_layer = umringstatistik_grenzpunkte(self, grenzpunkte_layer, vg_layer)
|
||||
if result_layer and result_layer.isValid():
|
||||
iface.mapCanvas().refresh()
|
||||
finally:
|
||||
self._set_busy(self.btn_umring_statistik, False, "Umringstatistik Grenzpunkte")
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Modul-Hilfsfunktionen
|
||||
|
||||
Reference in New Issue
Block a user