From 50f76a627115c720e9d79b6b947ce0428261b02a Mon Sep 17 00:00:00 2001
From: Eric Duminil <eric.duminil@gmail.com>
Date: Tue, 26 Mar 2024 16:42:57 +0100
Subject: [PATCH] Add height information

---
 python_scripts/add_trees_to_open_street_map/add_trees.py      | 3 ++-
 .../add_trees_to_open_street_map/import_existing_trees.py     | 1 +
 python_scripts/add_trees_to_open_street_map/tree.py           | 4 ++--
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/python_scripts/add_trees_to_open_street_map/add_trees.py b/python_scripts/add_trees_to_open_street_map/add_trees.py
index 551e22d..cbddca3 100644
--- a/python_scripts/add_trees_to_open_street_map/add_trees.py
+++ b/python_scripts/add_trees_to_open_street_map/add_trees.py
@@ -145,6 +145,7 @@ def place_trees(forest, ways, region, to_local, tree_distance, min_distance_2) -
                                             type='Fake Tree',
                                             description='Tilia tomentosa',
                                             diameter=6,
+                                            height=10,
                                             source='add_trees.py'
                                             )
 
@@ -234,7 +235,7 @@ def export_shapefile(bounds: Bounds, forest: Forest, tree_distance: float, epsg_
     basename = get_basename(bounds)
     shp_dir = OUTPUT_DIR / basename
     shp_dir.mkdir(exist_ok=True)
-    gdf.to_file(shp_dir / f"trees.shp")
+    gdf.to_file(shp_dir / f"trees.shp", encoding='UTF-8')
 
     print("  DONE!")
 
diff --git a/python_scripts/add_trees_to_open_street_map/import_existing_trees.py b/python_scripts/add_trees_to_open_street_map/import_existing_trees.py
index 7134229..edb44a3 100644
--- a/python_scripts/add_trees_to_open_street_map/import_existing_trees.py
+++ b/python_scripts/add_trees_to_open_street_map/import_existing_trees.py
@@ -13,6 +13,7 @@ def get_existing_forest(shp_input):
                           diameter=tree_row.Kronenbrei,
                           type=tree_row.Baumart,
                           trunk_diameter=tree_row.Stammumfan,
+                          height=tree_row.Baumhöhe,
                           source=Path(shp_input).name
                           ))
     return Forest(trees)
diff --git a/python_scripts/add_trees_to_open_street_map/tree.py b/python_scripts/add_trees_to_open_street_map/tree.py
index 412a019..8bc3162 100644
--- a/python_scripts/add_trees_to_open_street_map/tree.py
+++ b/python_scripts/add_trees_to_open_street_map/tree.py
@@ -8,8 +8,8 @@ class Tree:
     x: float
     y: float
     diameter: float
+    height: float
     z: float = 0
-    height: float = None
     trunk_diameter: float = None
     type: str = None
     description: str = '?'
@@ -27,7 +27,7 @@ class Tree:
         return self.diameter / 2
 
     def __str__(self):
-        return f"{self.type} ({self.description}), {self.radius} m (X={self.x:.1f}, Y={self.y:.1f})"
+        return f"{self.type} ({self.description}), {self.radius} m radius, {self.height} m height, (X={self.x:.1f}, Y={self.y:.1f})"
 
 
 class Forest(UserList):
-- 
GitLab