Inspiration

Once we wanted to have a walk with a friend and at the same time buy some food at McDonald's. We didn't know the area well yet, so we opened Google maps. Even though the place was not far (20-30 minutes walk - as we wanted), the route wasn't really nice and we couldn't convince Google Maps to build another one that will be not as tightly bounded to busy roads. What we actually wanted is the option for our preferences to be considered. It would be good if we can choose maybe a longer route, but more pleasant, more safe and maybe even less crowded.

What it does

Our project aims to solve the described problem in the following way:

  • Once the route is requested, we analyse the territory along this route according to different parameters using available maps data and data from other services
  • If the user completes the route we ask for quick feedback according to common criteria (was in green, safe, calm or crowded) which is then used to assess future routes

How we built it

We built an API that accepts the basic request together with the user route preferences. After that we get basic route suggestions using Google Maps API, then we transform the route into the set of tiles - as a result it consists of fewer elements. The tiles are then assessed using the following criteria:

  • air pollution
  • greenness
  • crowdedness.

Additionally we retrieve the evaluations from previous users that include additional criteria. Then we search in the nearby tiles (or in the route bounding box) for good alternatives and waypoints, and if they exists, set a waypoint there and force the route to go through this point. When the user starts the route he gets a temporary route id (which does not identify the person) which is later used to send feedback about the route. This temporary id is also used to increment and decrement the tiles states to get the estimate of the route "crowdedness". In real project we would want to store historical data as well with time of the day, day of the week and season as well.

Challenges we ran into

Since two out of three team members are rather new to hackathons, it was very challenging for us in general. We lost a team member in the very beginning and our capacity was reduced, which of course had an effect on how much we could do (also the case for other teams). On a technical perspective the challenge was to actually come up with ideas of how we can evaluate the route, how we can get this information and how do we simplify the route such that it's segments values are re-usable for future routes (solution - proper zoom level for tiles). We also understand that there are a lot of scenarios that will fail and which we are simply unable to address in the scope of the hackathon.

Accomplishments that we're proud of

We think that the general idea of our project is really good and can motivate people to walk more, which is good for the environment. The system is privacy-preserving by design. We don't use any personal data from the user. The temporary tracker doesn't contain personal information.

What we learned

We learnt a lot of new tools. None of us used Google Maps API or OpenStreetMap API before and it was fun to "marry" them together. We also learnt that it's actually possible to count the number of trees in the tile.

What's next for MAPTIMAL

The first next step would be to try to get the crime map (we couldn't find any) which will help to build safer routes. Another step would be to get or find a way to implicitly derive car crashes data to build better routes for inexperienced/infrequent drivers. We think that improvement possibilities are endless.

Share this project:

Updates