From e199074d68aa4a3490dba259c1d1608a47a62b6f Mon Sep 17 00:00:00 2001
From: Mayer <gpmayer2@gast.hft-stuttgart.de>
Date: Fri, 20 Sep 2024 15:25:28 +0000
Subject: [PATCH] Add new file

---
 .../Tree_inventory_classification             | 77 +++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 python_scripts/DLM_Tree_Classification/Tree_inventory_classification

diff --git a/python_scripts/DLM_Tree_Classification/Tree_inventory_classification b/python_scripts/DLM_Tree_Classification/Tree_inventory_classification
new file mode 100644
index 0000000..73d7cfb
--- /dev/null
+++ b/python_scripts/DLM_Tree_Classification/Tree_inventory_classification
@@ -0,0 +1,77 @@
+# Import & Anzeige Dataframe
+
+import pandas as pd
+
+# CSV-Datei einlesen
+city_name = 'konstanz'
+df = pd.read_csv('baumkataster_stadt_' + city_name + '.csv', sep=';')
+
+# Tabelle anzeigen
+df
+
+
+
+
+# Hinzufügen neuer Spalte 'ID'
+# 'ID'-Spalte hinzufügen
+df.insert(0, 'ID', range(1, len(df) + 1))
+
+# Tabelle anzeigen
+df
+
+
+
+
+
+# Berechnung durchschnittlicher Höhen von Laub- / Nadelbaum aller Bäume
+#Datensatz welcher ALLE Bäume der verschiedenen Städte enthält importieren: 
+# CSV-Datei einlesen
+city_name2 = 'TOTAL'
+df2 = pd.read_csv('baumkataster_' + city_name2 + '.csv', sep=';')
+
+# Tabelle anzeigen
+df2
+
+# Durchschnittswerte der Baumhöhe für Laub- und Nadelbäume berechnen
+avg_height_laubbäume = round(df2[df2['Baumtyp'] == 'Laubbaum']['Baumhöhe'].mean(), 2)
+avg_height_nadelbäume = round(df2[df2['Baumtyp'] == 'Nadelbaum']['Baumhöhe'].mean(), 2)
+
+print(f'Durchschnittliche Höhe der Laubbäume: {avg_height_laubbäume}')
+print(f'Durchschnittliche Höhe der Nadelbäume: {avg_height_nadelbäume}')
+
+
+
+
+# Bestimmung der Klassenzugehörigkeit
+# Funktion zur Bestimmung der Klasse
+def classify_tree(row):
+    if row['Baumart deutsch'] == 'Gehölzfläche':
+        if row['Baumtyp'] == 'Laubbaum':
+            return 'Busch/Hecke (Laub/Hartlaub)'
+        else: 
+            return 'Busch/Hecke (Nadel)'
+    elif row['Baumart deutsch'] == 'Unbekannt':
+        return 'Unbekannt'
+    elif row['Baumtyp'] == 'Laubbaum':
+        if row['Baumhöhe'] >= avg_height_laubbäume:
+            return 'Großer Laubbaum'
+        else:
+            return 'Kleiner Laubbaum'
+    elif row['Baumtyp'] == 'Nadelbaum':
+        if row['Baumhöhe'] >= avg_height_nadelbäume:
+            return 'Großer Nadelbaum'
+        else:
+            return 'Kleiner Nadelbaum'
+    return 'Unbekannt'
+
+# 'Klasse'-Spalte hinzufügen
+df['Klasse'] = df.apply(classify_tree, axis=1)
+
+# Tabelle anzeigen
+df
+
+
+
+
+# Export des Baumkatasters
+df.to_csv('baumkataster_classified_' + city_name + '.csv', index=False)
-- 
GitLab