Skip to content

A python script for rendering a 3D model of a house at given coordinates based on a user-provided GeoTIFF.

Notifications You must be signed in to change notification settings

nachtvlinder/SeeMyHouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SeeMyHouse

A python script for rendering a 3D model of a house at given coordinates based on a user-provided GeoTIFF.

About

What

A python script for rendering a 3D model of a house at given coordinates based on a user-provided GeoTIFF.

There is currently only a CLI based version, plans are in place to make a Dash web application with similar functionality and a py-script that operates with a simple GUI. This is first and foremost a practice experience embedded in BeCode's AI Bootcamp training, however I would enjoy building further on it.

If you found this link through my future portfolio, you can see this as my first full application project.

Why

Imagine a world where everyone can see their house, not by just walking outside and looking at it, but by looking up the coordinates and typing them into some webpage or app that then shows them a 3D model of their house based on LIDAR data. Wouldn't that be awesome?

Also I want to show you what I can do with a keyboard, an internet connection and a decent computer.

When

Started: November 6, 2020

Deadline: November 20, 2020

How

Challenges arose in the windowing mainly, during the whole of the first week. The evolution and general approach will be described here as time passes. A first glance of this, including issues encountered and solutions/approaches found and tested, is available in the November 10 section of the workflow file. I will update this section at the next convenient time.

Also see the daily workflow report.

Approach and vague planning

The current phase is one of exploration: of the data, the files, needed libraries. It is also a time of new beginnings: of the github repository, the notebook and other files in it, this readme file and an integrated PyCharm-centered workflow.

The future brings: extended data reconnaissance and iteratively building up the required plots. ETA for finishing improvable basic prototype visualizations: tuesday-ish.

Who

Maja Minnaert for BeCode

Project To-Do List

There's also a daily checklist and a daily workflow report.

Pending

  • Archive research files
  • Clean up py-script code and comments
  • Clean up and fill this README's first sections
  • Copy suitable readme information to website, so it can be an modestly informational stub
  • Do some final testing
  • Reverse x axis to prevent mirrored plot

Extra tweaks (optional)

(dash and gui's only in branch 'dash-deployment'!!!)

  • Set up Github Page
  • Study dash app implementation
  • Design: make prototype interface
  • Deploy and test dash app
  • Set up project Github Page for information/presentation
  • Make zip file with the script and a short readme with instructions for use (how to include requirements/dependencies?)
  • Make that zip available on the project website
  • Link to dash app on the project website

Done

  • Set up environment in pycharm
  • Install needed base packages
  • Set up project repository
  • Link pycharm project to github repository
  • Pimp up the readme file
  • Set up md file "workflow.md" for daily reporting
  • Check what geopandas is
  • Install geopandas
  • Determine use case data subset
  • Download the data
  • Add notebook for example files & gpd learning
  • Add notes file for virtual post-its
  • Explore Data: study file types
  • Learn to work with geopandas
  • Explore Data: look at data contents
  • Explore Data: determine, try-out and find/choose needed packages
  • Switched to plotly
  • Made basic first figure with plotly
  • Find out how to 3D plot AOI
  • Design: check for interface requirements?
  • Updated notes with approach tips from debrief
  • Created first script file SeeMyHouse-CLI
  • Added comments in CLI-script to describe the algorithm in human language
  • Translate script comments into code for interpreter
  • Write text interface (input and print statements)
  • Read geotiff into rasterio object
  • Convert coordinates
  • Construct window --> Complication raised
  • Convert window from nd-array to pandas dataframe --> Complication risk
  • Tie dataframe into plotly code --> Should be fairly straightforward
  • Fix scaling/spiking issue responsively

About

A python script for rendering a 3D model of a house at given coordinates based on a user-provided GeoTIFF.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages