Skip to content

Commit

Permalink
New optional attributes
Browse files Browse the repository at this point in the history
  • Loading branch information
pathmapper committed May 21, 2024
1 parent 5425f90 commit 4882d83
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 8 deletions.
1 change: 1 addition & 0 deletions metadata.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
51 changes: 45 additions & 6 deletions xplan_umring_algorithm_bp_6_0.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
QgsProcessingParameterDateTime,
QgsProcessingParameterEnum,
QgsProcessingParameterFile,
QgsProcessingParameterNumber,
QgsProcessingParameterString,
QgsProcessingParameterVectorLayer,
QgsProcessingUtils,
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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 = {}
Expand Down Expand Up @@ -407,6 +434,8 @@ def showWarning(message):
</gml:boundedBy>
<xplan:name>Name Bebauungsplan</xplan:name>
<xplan:nummer>Nummer Bebaungsplan</xplan:nummer>
<xplan:technHerstellDatum>{herstellungsdatum}</xplan:technHerstellDatum>
<xplan:erstellungsMassstab>{erstellungsmaßstab}</xplan:erstellungsMassstab>
<xplan:raeumlicherGeltungsbereich>
{gml_geometry_string}
</xplan:raeumlicherGeltungsbereich>
Expand Down Expand Up @@ -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 == "":
Expand All @@ -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
Expand Down Expand Up @@ -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(
Expand Down
43 changes: 42 additions & 1 deletion xplan_umring_algorithm_fp_6_0.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
QgsProcessingParameterDateTime,
QgsProcessingParameterEnum,
QgsProcessingParameterFile,
QgsProcessingParameterNumber,
QgsProcessingParameterString,
QgsProcessingParameterVectorLayer,
QgsProcessingUtils,
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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 = {}
Expand Down Expand Up @@ -404,6 +431,8 @@ def showWarning(message):
<xplan:beschreibung>{beschreibung}</xplan:beschreibung>
<xplan:kommentar><![CDATA[{kommentar}]]></xplan:kommentar>
<xplan:untergangsDatum>2022-09-09</xplan:untergangsDatum>
<xplan:technHerstellDatum>{herstellungsdatum}</xplan:technHerstellDatum>
<xplan:erstellungsMassstab>{erstellungsmaßstab}</xplan:erstellungsMassstab>
<xplan:raeumlicherGeltungsbereich>
{gml_geometry_string}
</xplan:raeumlicherGeltungsbereich>
Expand Down Expand Up @@ -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(
Expand Down
43 changes: 42 additions & 1 deletion xplan_umring_algorithm_lp_6_0.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
QgsProcessingParameterDateTime,
QgsProcessingParameterEnum,
QgsProcessingParameterFile,
QgsProcessingParameterNumber,
QgsProcessingParameterString,
QgsProcessingParameterVectorLayer,
QgsProcessingUtils,
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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 = {}
Expand Down Expand Up @@ -445,6 +472,8 @@ def showWarning(message):
<xplan:name>Name Bebauungsplan</xplan:name>
<xplan:nummer>Nummer Bebaungsplan</xplan:nummer>
<xplan:untergangsDatum></xplan:untergangsDatum>
<xplan:technHerstellDatum>{herstellungsdatum}</xplan:technHerstellDatum>
<xplan:erstellungsMassstab>{erstellungsmaßstab}</xplan:erstellungsMassstab>
<xplan:raeumlicherGeltungsbereich>
{gml_geometry_string}
</xplan:raeumlicherGeltungsbereich>
Expand Down Expand Up @@ -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(
Expand Down

0 comments on commit 4882d83

Please sign in to comment.