× This Challenge was posted 3 years ago

Challenge view

Back to Project

12: Find energy inefficient buildings in the city of Lucerne

Improve the process of analysing building structures.

⛶  Fullscreen ↓  Download

Problem

Rising Prices, shrinking resources, liability for climate and environment are just a few reasons to challenge our energy consumption and approach a more thoughtful and economical way. Buildings in Switzerland are responsible for about 45 % of energy usage. EMPA would like to change this by combining open data and modern technologies like neural network classification to evaluate buildings worth a structural energy efficiency upgrade and reduce energy loss in the city Lucerne.

Solution

Our solution is all about improving the process of analysing building structures. Image data based challenges need a solid infrastructure for further use. Therefore we implemented an easy to use python script to retrieve images by using the google API and to save them in a PostgreSQL database. Furthermore we developed a prototype mockup for a gamified user application to check image quality, to provide image information and to add images manually. Mockup-Link: https://share.proto.io/U768ZR/

Outlook

  • Build a working prototype for the user
  • Implement labeling features in the app and the database structure
  • Think about gamified solutions to calculate the windows to wall ration on a building (include a drawing functionality

Project repository

Challengers

Dominik Vasquez, Stephan Wernli, Luca Casuscelli, Jonas Zürcher

Analysis-of-energy-inefficient-buildings

Project description

Rising Prices, shrinking resources, liability for climate and environment are just a few reasons to challenge our energy consumption and approach a more thoughtful and economical way. Buildings in Switzerland are responsible for about 45 % of energy usage. EMPA would like to change this by combining open data and modern technologies like neural network classification to evaluate buildings worth a structural energy efficiency upgrade and reduce energy loss in the city Lucerne. For the performance of image analysis and model training we first need a solid infrastructure to retrieve and store data. With our project we would like to tackle this challenge.

Technical Base

The application is using Python and PostgreSQL to save the data provided by the google API. The connection data like username, password, database name, etc. are stored in server.ini.

Architecture

There are several classes that manage the database connection, the creation of table entries and the saving of the pictures to the file system. The semantic key to access a picture is given through its address. The zip-code, the street and the building number are used to access the data sets and check whether an entry exists or not. If a building does not exist yet in the database a uuid-key is generated and used as a primary key for the building. The picture is saved with the “uuid”.jpg as filename.

Classes

• DBConnection: Manages the DB connections and handles DB cursors

• DBCursor: little Proxy for Cursors

• Building: The Buillding class is meant to manage the access and the storing of pictures and meta data.

• ImageExtractor: Interface to Google Street View API

Files

• addresses.txt: some sample addresses for testing and mockup

• Building_database.py: home of Class Building

• create_tables.py: Creates the needed DB tables

• db_connection.py: home of Classes DBConnection and DBCursor

• googlestreetextractor.py: home of Class ImageExtractor

• key.txt: not used in prototype. Is supposed to contain the Google Street View API key

• main.py: Mockup of functionality. Reads addresses from addresses.txt and extracts data and images from google street view and saves them in the database using Classes ImageExtractor and Building

• Readme.md…

• requirements.txt: contains all necessary requirements (Anaconda style)

• server.ini: contains all configuration data (to be adjusted by customer by writedbconfig.py)

• test_retrieve.py: Test of extraction of data and images that were written with main.py

• writedbconfig.py: writes parameters to server.ini

Data

The data was retrieved with a Google API Key

Authors

Dominik Vasquez, Stephan Wernli, Luca Casuscelli, Jonas Zürcher

This content is a preview from an external site.
 
Contributed 4 years ago by lucacelli for Shape My City
All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody. For more details on how the event is run, see the Guidelines on our wiki.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.