With stringent social distancing measures, you may be wondering how to siam the crowds without disrupting your daily routines. That’s where we can rely on the wonders of modern technology — aka real-time maps that show where crowds are gathered in Singapore.

What it does

GPS data is aggregated and displayed as a heatmap on google map api. A user can plan his path by selecting the day and time, then clicking to select points on the map. The amount of people between every consecutive point is calculated and displayed, where edges are colored green: not crowded, yellow: slightly crowded, red: very crowded.

How I built it

Data Mining We mined 1126 routes last 2 months at using python Requests Each path consists of a timestamp of the route and a series of GPS coordinates of latitude and longitude. Data Processing We mapped map coordinates into 2700 * 4400 grid squares. GPS signals are put into the associated grid squares. Paths are interpolated to ensure no skipping of grid squares. Front end Google Map API is used to parse the selected path into a list of coordinates. The crowdedness along the path is then cross referenced to the data matrix, and color coded. Bootstrap is used to style the page.

Challenges I ran into

Data mining is complicated behind a login system Setting up Google API keys

Accomplishments that I'm proud of

Successfully creating a heatmap of Singapore running routes

What I learned

Data mining/processing of gps signals GoogleMap API

What's next for CrowdEye

Route suggestions based on crowd aversion level Dynamic dataset from submitted user gps signal instead of manual entry Split up dataset by activity type (run/ walk, cycling) Possible integration with: Grocery stores, Running apps

Share this project: