Home About
AHS Maps

About AHS Heatmaps

The Purpose

The purpose of this application is to provide live temperature and carbon dioxide data in an easy-to-understand format. Various sensors across the school are read, their data is compiled, and interactive maps are generated. The maps on the site are regenerated by the server and updated every 5 minutes.

How It Works

The application is written in Python. The application first requests data from a server connected to the various sensors placed around the school by Energize Andover. It then iterates through a supplied folder of maps in SVG format, with one file/image per floor. Each file is converted into various alternate formats, using inkscape's command-line tool. Various python libraries are utilized to detect text in the converted files, and extract both the text and its pixel location in the image. Finally, OpenCV, an open-source computer vision library, to find rooms around these coordinates, and extract the location and dimensions of their rectangular shapes. Finally, all this information is combined with the original data to create a new, colored map. Custom JavaScript code makes these maps interactive. You can learn more about this project and find a more in-depth explanation on my website.


To properly interpret the data supplied by this application, use the following as a guide:

A sample map may be seen below:

Sample Map


This application was made by Daniel Ivanovich as an independent project for the Energize Andover Program between the fall of 2018 and the fall of 2019.