StudentLifeMap
README.md

StudentLifeMap

A GTK Application that maps cities using the OpenStreetMap Library coded in C++. Screenshot

Features

Manual

A. Pathfinidng through intersections

When two intersections are clicked successively, the map will find the closest path between them using an A* algorithm. It uses the speed limit of the roads and Euclidean distance to the destination as heuristics to optimize computing time. alt text

B. Finding Nearby Restaurants

When a store name is entered into the search bar, the map searches through OpenStreetMap amenities with the fast_food tag and plots the coordinates on the map. alt text

C. Finding Study spaces

When the cafe or student life button is called, the map searches through OpenStreetMap amenities with the cafe, university, or library tags. Depending on the zoom level, it will cluster each amenity into groups, to show where there are a concentration of cafes and thus popular neighborhoods to study in. The clustering changes dynamically as the map is panned or zoomed in. alt text

D. Dark Mode

Depending on the clock on the computer that it is loaded in, the map will automatically revert to 'dark mode' and draw the map with a different pallette according to the on-board time. The mode can also be switched with a button. alt text

How the map is drawn

It divides up a cities' map into 3 distinct levels: Highways, Main Roads, and Residential & other small roads.

It draws features with varying colors, calling the greenspaces & parks, bodies of water, buildings, and beaches of a city.

Note: Partial Code shown due to project being submitted to a course to the University of Toronto and the copyright associated with it. Libraries from the University of Toronto simplified using GTK for graphics.