Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Mayer
CircularGreenSimCity
Commits
e199074d
Commit
e199074d
authored
Sep 20, 2024
by
Mayer
Browse files
Add new file
parent
5b3ede9d
Changes
1
Hide whitespace changes
Inline
Side-by-side
python_scripts/DLM_Tree_Classification/Tree_inventory_classification
0 → 100644
View file @
e199074d
# 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)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment