diff --git a/metadata.txt b/metadata.txt
index ac3cd01..0e5688c 100644
--- a/metadata.txt
+++ b/metadata.txt
@@ -20,6 +20,7 @@ experimental=False
server=False
hasProcessingProvider=yes
changelog=unreleased:
+ - neue optionale Attribute "technHerstellDatum" und "erstellungsMassstab" für BP, FP, LP v6.0
- Raster-Hilfswerkzeuge: Komprimiere erzeugte Rasterpläne mit Deflate
- Raster-Hilfswerkzeuge: Behebe Fehler für bestimmte Polygone
v2.10.0:
diff --git a/xplan_umring_algorithm_bp_6_0.py b/xplan_umring_algorithm_bp_6_0.py
index c79e702..461a261 100644
--- a/xplan_umring_algorithm_bp_6_0.py
+++ b/xplan_umring_algorithm_bp_6_0.py
@@ -36,6 +36,7 @@
QgsProcessingParameterDateTime,
QgsProcessingParameterEnum,
QgsProcessingParameterFile,
+ QgsProcessingParameterNumber,
QgsProcessingParameterString,
QgsProcessingParameterVectorLayer,
QgsProcessingUtils,
@@ -96,8 +97,8 @@ def initAlgorithm(self, config=None):
self.ags = settings.value("xplan-umring/ags", "")
self.ortsteilname = ""
if self.ags.startswith(("05114", "05154", "05158", "05166", "05170")):
- self.ortsteilname = self.kommune
-
+ self.ortsteilname = self.kommune
+
self.addParameter(
QgsProcessingParameterVectorLayer(
"Umring",
@@ -234,6 +235,24 @@ def initAlgorithm(self, config=None):
defaultValue="EPSG:25832",
)
)
+ self.addParameter(
+ QgsProcessingParameterNumber(
+ "Erstellungsmaßstab",
+ "Erstellungsmaßstab",
+ optional=True,
+ type=QgsProcessingParameterNumber.Integer,
+ minValue=1,
+ )
+ )
+ self.addParameter(
+ QgsProcessingParameterDateTime(
+ "DatumHerstellung",
+ "Datum technische Herstellung",
+ optional=True,
+ type=QgsProcessingParameterDateTime.Date,
+ defaultValue=None,
+ )
+ )
self.addParameter(
QgsProcessingParameterFile(
name="outputZip",
@@ -298,6 +317,14 @@ def showWarning(message):
kbs = self.parameterAsString(parameters, "Koordinatenbezugssystem", context)
+ erstellungsmaßstab = self.parameterAsString(
+ parameters, "Erstellungsmaßstab", context
+ )
+
+ herstellungsdatum = self.parameterAsString(
+ parameters, "DatumHerstellung", context
+ ).strip()
+
my_output_folder = self.parameterAsString(parameters, "outputZip", context)
outputs = {}
@@ -407,6 +434,8 @@ def showWarning(message):
Name Bebauungsplan
Nummer Bebaungsplan
+ {herstellungsdatum}
+ {erstellungsmaßstab}
{gml_geometry_string}
@@ -516,9 +545,7 @@ def showWarning(message):
gemeindename_element.text = gemeindename
ortsteilname_element = next(
- bp_plan_element.iter(
- "{http://www.xplanung.de/xplangml/6/0}ortsteilName"
- )
+ bp_plan_element.iter("{http://www.xplanung.de/xplangml/6/0}ortsteilName")
)
if ortsteilname == "":
@@ -527,7 +554,7 @@ def showWarning(message):
):
xp_gemeinde_element.remove(ortsteilname_element)
else:
- ortsteilname_element.text = ortsteilname
+ ortsteilname_element.text = ortsteilname
for ags_element in root.iter("{http://www.xplanung.de/xplangml/6/0}ags"):
ags_element.text = ags
@@ -600,6 +627,18 @@ def showWarning(message):
):
rechtsstand_element.text = rechtsstand_key
+ for erstellungsmaßstab_element in root.iter(
+ "{http://www.xplanung.de/xplangml/6/0}erstellungsMassstab"
+ ):
+ if erstellungsmaßstab == "":
+ bp_plan_element.remove(erstellungsmaßstab_element)
+
+ for herstellungsdatum_element in root.iter(
+ "{http://www.xplanung.de/xplangml/6/0}technHerstellDatum"
+ ):
+ if herstellungsdatum == "":
+ bp_plan_element.remove(herstellungsdatum_element)
+
etree.indent(tree, space="\t", level=0)
translation_table = str.maketrans(
diff --git a/xplan_umring_algorithm_fp_6_0.py b/xplan_umring_algorithm_fp_6_0.py
index e0cfa00..01ea44e 100644
--- a/xplan_umring_algorithm_fp_6_0.py
+++ b/xplan_umring_algorithm_fp_6_0.py
@@ -36,6 +36,7 @@
QgsProcessingParameterDateTime,
QgsProcessingParameterEnum,
QgsProcessingParameterFile,
+ QgsProcessingParameterNumber,
QgsProcessingParameterString,
QgsProcessingParameterVectorLayer,
QgsProcessingUtils,
@@ -94,7 +95,7 @@ def initAlgorithm(self, config=None):
self.ags = settings.value("xplan-umring/ags", "")
self.ortsteilname = ""
if self.ags.startswith(("05114", "05154", "05158", "05166", "05170")):
- self.ortsteilname = self.kommune
+ self.ortsteilname = self.kommune
self.addParameter(
QgsProcessingParameterVectorLayer(
@@ -236,6 +237,24 @@ def initAlgorithm(self, config=None):
defaultValue="EPSG:25832",
)
)
+ self.addParameter(
+ QgsProcessingParameterNumber(
+ "Erstellungsmaßstab",
+ "Erstellungsmaßstab",
+ optional=True,
+ type=QgsProcessingParameterNumber.Integer,
+ minValue=1,
+ )
+ )
+ self.addParameter(
+ QgsProcessingParameterDateTime(
+ "DatumHerstellung",
+ "Datum technische Herstellung",
+ optional=True,
+ type=QgsProcessingParameterDateTime.Date,
+ defaultValue=None,
+ )
+ )
self.addParameter(
QgsProcessingParameterFile(
name="outputZip",
@@ -292,6 +311,14 @@ def showWarning(message):
kbs = self.parameterAsString(parameters, "Koordinatenbezugssystem", context)
+ erstellungsmaßstab = self.parameterAsString(
+ parameters, "Erstellungsmaßstab", context
+ )
+
+ herstellungsdatum = self.parameterAsString(
+ parameters, "DatumHerstellung", context
+ ).strip()
+
my_output_folder = self.parameterAsString(parameters, "outputZip", context)
outputs = {}
@@ -404,6 +431,8 @@ def showWarning(message):
{beschreibung}
2022-09-09
+ {herstellungsdatum}
+ {erstellungsmaßstab}
{gml_geometry_string}
@@ -540,6 +569,18 @@ def showWarning(message):
FP_Plan_element.remove(wirksamkeitsDatum_element)
FP_Plan_element.remove(entwurfsbeschlussDatum_element)
+ for erstellungsmaßstab_element in root.iter(
+ "{http://www.xplanung.de/xplangml/6/0}erstellungsMassstab"
+ ):
+ if erstellungsmaßstab == "":
+ FP_Plan_element.remove(erstellungsmaßstab_element)
+
+ for herstellungsdatum_element in root.iter(
+ "{http://www.xplanung.de/xplangml/6/0}technHerstellDatum"
+ ):
+ if herstellungsdatum == "":
+ FP_Plan_element.remove(herstellungsdatum_element)
+
etree.indent(tree, space="\t", level=0)
translation_table = str.maketrans(
diff --git a/xplan_umring_algorithm_lp_6_0.py b/xplan_umring_algorithm_lp_6_0.py
index 2f40819..3648aaf 100644
--- a/xplan_umring_algorithm_lp_6_0.py
+++ b/xplan_umring_algorithm_lp_6_0.py
@@ -36,6 +36,7 @@
QgsProcessingParameterDateTime,
QgsProcessingParameterEnum,
QgsProcessingParameterFile,
+ QgsProcessingParameterNumber,
QgsProcessingParameterString,
QgsProcessingParameterVectorLayer,
QgsProcessingUtils,
@@ -94,7 +95,7 @@ def initAlgorithm(self, config=None):
self.ags = settings.value("xplan-umring/ags", "")
self.ortsteilname = ""
if self.ags.startswith(("05114", "05154", "05158", "05166", "05170")):
- self.ortsteilname = self.kommune
+ self.ortsteilname = self.kommune
self.addParameter(
QgsProcessingParameterVectorLayer(
@@ -268,6 +269,24 @@ def initAlgorithm(self, config=None):
defaultValue="EPSG:25832",
)
)
+ self.addParameter(
+ QgsProcessingParameterNumber(
+ "Erstellungsmaßstab",
+ "Erstellungsmaßstab",
+ optional=True,
+ type=QgsProcessingParameterNumber.Integer,
+ minValue=1,
+ )
+ )
+ self.addParameter(
+ QgsProcessingParameterDateTime(
+ "DatumHerstellung",
+ "Datum technische Herstellung",
+ optional=True,
+ type=QgsProcessingParameterDateTime.Date,
+ defaultValue=None,
+ )
+ )
self.addParameter(
QgsProcessingParameterFile(
name="outputZip",
@@ -335,6 +354,14 @@ def showWarning(message):
kbs = self.parameterAsString(parameters, "Koordinatenbezugssystem", context)
+ erstellungsmaßstab = self.parameterAsString(
+ parameters, "Erstellungsmaßstab", context
+ )
+
+ herstellungsdatum = self.parameterAsString(
+ parameters, "DatumHerstellung", context
+ ).strip()
+
my_output_folder = self.parameterAsString(parameters, "outputZip", context)
outputs = {}
@@ -445,6 +472,8 @@ def showWarning(message):
Name Bebauungsplan
Nummer Bebaungsplan
+ {herstellungsdatum}
+ {erstellungsmaßstab}
{gml_geometry_string}
@@ -605,6 +634,18 @@ def showWarning(message):
lp_plan_element.remove(untergangsDatum_element)
lp_plan_element.remove(inkrafttretenDatum_element)
+ for erstellungsmaßstab_element in root.iter(
+ "{http://www.xplanung.de/xplangml/6/0}erstellungsMassstab"
+ ):
+ if erstellungsmaßstab == "":
+ lp_plan_element.remove(erstellungsmaßstab_element)
+
+ for herstellungsdatum_element in root.iter(
+ "{http://www.xplanung.de/xplangml/6/0}technHerstellDatum"
+ ):
+ if herstellungsdatum == "":
+ lp_plan_element.remove(herstellungsdatum_element)
+
etree.indent(tree, space="\t", level=0)
translation_table = str.maketrans(