Skip to content

Map any house of Wallonia in 3D. Based on LIDAR data on a Flask powered website

Notifications You must be signed in to change notification settings

bestycame/3D-Houses

Repository files navigation

3D House Project

Picture of the Project

Project Access

The project can be found in my portfolio ⚠️ sadly I had no time to implement speed impouvement, and the loading of a chart can take +/- 20s depending of the area covered.

Tech used

  • Python, Rasterio, Pandas, Plotly.
  • Coded in a Class and as a Python Package
  • Showcased in a Flask powered website:
    • Coded in HTML/CSS, with Bootstrap. The login function has now been deactivated.
    • an AJAX script allows to select and display information about the buildings
    • CI/CD was configured to check and pushing to Heroku, the deploy to heroko has been suspended and only the checks are running (Flake8 as a linter, and some unittest).
    • Now the docker image runs on a Debian powered VPS running Nginx.
  • a quick and dirty cache system is in place.
  • Contained in a Docker Image

The Data: DSM and DTMs to get CHM's!

The ressources have been found on the Geoportal of the public service of Wallonia's (SPW) website. You can download them here:

DSM, DTM and Canopy height model (CHM) are three important terms in this project!:

How does it works?

  • it all starts with an address that we want to work from and the area we want to plot around (let's take boundary=200m!)
  • search_address_mapbox(): will call mapbox's API to return the coordinates of the adress: (X, Y). it will add the boundary around that point to obtain a bounding box that we will plot (xMin, xMax, yMin, yMax)
  • find_files(): it will loop through each MNS/MNT file to check if the bounding box fits within.
  • create_chm(): it will first crop the MNS and MNT Tiff files to the correct size, and create the CHM by substracting them.
  • create_plotly_map(): will create the map based on the CHM and save it to HTML

ToDo?

  • Improve the speed!
  • I'm not happy either on how the cache is managed.

About

Map any house of Wallonia in 3D. Based on LIDAR data on a Flask powered website

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published