Our inspiration was to help emergency services and disaster relief personnel find ways to connect different people together

What it does

Relief Connection is an webapp that helps emergency services staff to plot a path between different people (represented by points on a map) in the aftermath of a disaster using a greedy algorithm that solves the traveling salesman problem. Our algorithm directly connects two points in a straight line on our map, however this could be useful for some disaster recovery situations, such as a situation like Hurricane Maria where people who were stranded were rescued by helicopter search crews.

Our demo shows a route that connects forty different points inside of a rectangular area that roughly captures MSU (excluding Farms), and part of East Lansing north of Grand River. The forty points in our list were randomly generated using Python 3's random library. Specifically, random.uniform() allowed us to create random floating point numbers in between specific ranges. Our route was then created by a Python implementation of a greedy solution to the traveling salesman problem that took in the randomly generated list earlier as its input. Finally, we created a plot program that took in the created list by our algorithm program and plotted it using gmplot, a library that takes latitude and longitude pairs (represented by tuples of floating point numbers) then plots and overlays the plotted route to a html file.

How we built it

Python 3, HTML/CSS, gmplot library

Challenges we ran into

Our original idea was to use Bluetooth technologies and signal strength from different Bluetooth connections to determine a relativistic location to create an ad hoc location network for people who might now have connection to cellular services, GPS and/or the Internet. However, we realized that we would not be able learn enough about the intricacies of Bluetooth technologies in 36 hours to make a product that we would be satisfied with. So instead, we created an application that assumed earlier steps were taken to find the locations of survivors of natural disasters, and our application would help find a path connecting them. Another challenge that we faced was finding a way to link our website to our Python applications. If we had more time, or had more preparation before coming to SpartaHack, we would probably spend some time learning something that could interact with our Python applications such as Javascript, or React. Another challenge that we faced was figuring out how to get animations to work with HTML/CSS

Accomplishments that we're proud of

We implemented a greedy solution that creates a path that connects multiple different points on a path and are able to display it as overlayed on top of a map.

What we learned

How to use HTML/CSS and how to use Python 3 to plot a route on top of Google Maps

What's next for ReliefConnection

If we have more time to work on our project, we would probably find some way to link our webpage to our Python applications, such as allowing users to input points. We would probably also consider implementing a way to use Bluetooth technologies and signal strength from different Bluetooth connections to determine someone's relative location in a localized area.

Built With

Share this project: