import_existing_trees.py 813 Bytes
Newer Older
Eric Duminil's avatar
Eric Duminil committed
1
from pathlib import Path
2
import geopandas as gpd
3
from tree import Tree, Forest
4

Eric Duminil's avatar
Eric Duminil committed
5
def get_existing_forest(shp_input):
6
    print(f"Importing {shp_input}")
7
    df = gpd.read_file(shp_input)
Eric Duminil's avatar
Eric Duminil committed
8
9
10
11
12
    trees = []
    for tree_row in df.itertuples():
        point = tree_row.geometry
        trees.append(Tree(point.x, point.y,
                          description=tree_row.Bezeichnun,
Eric Duminil's avatar
Eric Duminil committed
13
14
                          diameter=tree_row.Kronenbrei,
                          type=tree_row.Baumart,
Eric Duminil's avatar
Eric Duminil committed
15
                          trunk_diameter=tree_row.Stammumfan,
Eric Duminil's avatar
Eric Duminil committed
16
                          height=tree_row.Baumhöhe,
Eric Duminil's avatar
Eric Duminil committed
17
                          source=Path(shp_input).name
Eric Duminil's avatar
Eric Duminil committed
18
                          ))
19
20
21
    return Forest(trees)

if __name__ == "__main__":
Eric Duminil's avatar
Eric Duminil committed
22
    print(repr(get_existing_forest('existing_trees/Trees_ideal_2_20240227.shp')))