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 https://www.mapmyrun.com/routes/search 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