Internship for the Exa-MA WP1 Vegetation Project
Intern: Pierre-Antoine SENGER @PA-Senger (Master 1 CSMI) Advisors: @vincentchabannes, @palliez, @prudhomm
Overview
This project is part of a series conducted within the Exa-MA Project[^1], a segment of the Numpex research initiative[^2]. My colleagues and I worked on the following projects:
- Exa-MA WP1 - Vegetation
- Exa-MA WP1 - Terrain
- Exa-MA WP1 - Urban Building LOD-1
- Exa-MA WP1 - Urban Building LOD-2 and Kinetic
- Exa-MA WP1 - Performance and Scalability
These projects are conducted within the HiDALGO2 initiative[^3], which "aims to explore synergies between modeling, data acquisition, simulation, data analysis, and visualization along with achieving better scalability on current and future HPC and AI infrastructures to deliver highly-scalable solutions that can effectively utilize pre-exascale systems"[^4].
Specifically focusing on the Urban Building Model[^5] Use Case (UBM), which is "developing the Urban Building pilot application to improve building energy efficiency and indoor air quality"[^5], this particular project aims to integrate vegetation, particularly trees, into 3D models of urban environments.
The projects are conducted within Cemosis[^6] (Center for Modeling and Simulation in Strasbourg), hosted by IRMA[^7] (Institute for Advanced Mathematical Research) at Strasbourg University. We operated as students under the supervision of Vincent Chabannes[^8], a research engineer at IRMA, Pierre Alliez,[^9] a senior researcher and team leader at Inria Sophia Antipolis and Christophe Prud'homme[^10], a professor in applied mathematics at Strasbourg University.
This Vegetation project aims to integrate trees into 3D geometric models of urban environments to improve the accuracy and realism of thermal and energy simulations.
Main Objectives
Urban areas are complex ecosystems influenced by various factors, with vegetation, especially trees, playing a crucial role in shaping microclimates, reducing energy consumption, and enhancing overall livability. To model them, we have identified the following objectives:
- Extracting tree meta-data from
OpenStreetMapusingcpr[^11]:- Position (latitude, longitude): In a park, boarding a road, etc.
- Height, genus, species, crown diameter, circumference, etc.
- Generating 3D tree models using
CGAL[^12] andGmsh[^13]:- LOD 0, 1, 2, 3
- Different leaf density
- Integrating tree models into the existing terrain mesh:
- Avoiding collision between trees and buildings
- Taking into account terrain elevation
- Optimizing and parallelizing the algorithms to efficiently handle large datasets
What Has Been Done
- Created LOD 0 reference mesh using
Gmshwith separated trunk and foliage for different tree shapes (round, oval, conical).
- Retrieved and preprocessed 3D tree models from
Sketchup[^14] (removed trunks and some branches, normalized them, centered them on origin).

- Used
CGAL Alpha Wrapping[^15] on those preprocessed models to create LOD 1, 2, 3 tree meshes.
- Retrieved tree metadata (position, height, trunk circumference, etc.) from
OpenStreetMap[^16] and created C++ tree object. - Added markers to leaves to account for seasons.
- Scaled and translated the tree meshes to the correct spatial position using Mercator projection and CGAL.
- Merged trees into a single mesh.
- Merged with a terrain/building mesh.
- Attempted to repair meshes.
- Created a
config.jsonfile for user-specified options/parameters:
{
"bbox": "48.58677,7.75271,48.58768,7.75540",
"origin": "48.583055227464364, 7.748664426560083",
"LOD": 2,
"default_height_range": "10, 40",
"input_building_mesh": "mesh_lod1.stl",
"merge_buildings_trees": false,
"output_name": "republique",
"output_format": "msh",
"verbose": true
}
Current Issues
- Removing the intersection of trees and buildings.
- Chose a strategy for when trees are missing metadata.
- Merging trees on an uneven terrain.
- Adding parallelization.
- Adding performance analysis.
Current Results
Place de la Republique, Strasbourg lod 0:

Parc des Contades, Strasbourg lod 0:

Place de la Republique, Strasbourg lod 2:

References
[^1]: Exa-MA Consortium. Available at Exa-MA [^2]: Numpex Consortium. Available at Numpex [^3]: HiDALGO2. Available at HiDALGO2 [^4]: HiDALGO2. About HiDALGO2. Available at HiDALGO2 About [^5]: HiDALGO2. Urban Building Model. Available at Urban Building Model [^6]: Cemosis. Available at Cemosis [^7]: IRMA. Available at IRMA [^8]: Vincent Chabannes. Available at Vincent Chabannes [^9]: Pierre Alliez. Available at Pierre Alliez [^10]: Christophe Prud'homme. Available at Christophe Prud'homme [^11]: CPR Developers. C++ Requests: Curl for People. Available at CPR [^12]: CGAL Development Team. Available at CGAL [^13]: Christophe Geuzaine, Jean-François Remacle. Available at Gmsh [^14]: Sketchup. Available at Sketchup [^15]: CGAL Alpha Wrapping. Available at CGAL 5.6.1 - 3D Alpha Wrapping [^16]: OpenStreet Map. Available at OSM

