Skip to content
GitLab
Explore
Projects
Groups
Snippets
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
7 months ago
by
Mayer
Browse files
Options
Download
Email Patches
Plain Diff
Add new file
parent
5b3ede9d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
python_scripts/DLM_Tree_Classification/Tree_inventory_classification
+77
-0
...pts/DLM_Tree_Classification/Tree_inventory_classification
with
77 additions
and
0 deletions
+77
-0
python_scripts/DLM_Tree_Classification/Tree_inventory_classification
0 → 100644
+
77
-
0
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)
This diff is collapsed.
Click to expand it.
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
Menu
Explore
Projects
Groups
Snippets