This application visualizes Ottawa's urban landscape through interactive data visualization, designed to combat Ottawa's "boring city" stereotype. It processes population, transportation, and entertainment venue data to reveal patterns and relationships using advanced spatial analysis techniques with H3 hexagonal indexing. (For Carleton University's DATA5000 Course)
The system provides multiple visualization layers:
-
Transportation Heatmap (OC Transpo data)
-
Entertainment Heatmap (Google Maps Places API data)
-
Population Heatmap (2021 Census data)
-
Entertainment Population Difference Analysis
-
Entertainment Transport Difference Analysis
-
Population Transport Difference Analysis
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Node.js 18.0 or higher
apt-get update
apt-get install nodejs
A step by step series of examples that tell you how to get a development env running
git clone https://github.com/JustinZhang17/lauriault.git
cd lauriault
npm install
Run the following command to start the application
npm run dev
The application provides an interactive map interface with layer selection controls. You can configure visualization parameters using URL query parameters:
-
resolution: H3 hexagon resolution level (default: 8)
-
topK: Number of top differences to highlight (default: 10)
-
attPopuScaling: Entertainment-population scaling factor (default: 2)
-
attOCScaling: Entertainment-transit scaling factor (default: 50)
-
popuOCScaling: Population-transit scaling factor (default: 2)
-
popuNorm: Population normalization factor (default: 5)
Example URL: http://localhost:5173?resolution=7&topK=15
If you see an issue or would like to contribute, please do & open a pull request or ticket for/with new features or fixes
- Justin Zhang - Initial work - JustinZhang17
- Hanna Khan - Initial work - HannaKhan
This project is licensed under the GNU GPLv3 License - see the LICENSE.md file for details
The application processes three main CSV datasets:
-
population_dissemination_areas.csv- Geographic boundaries and population data -
oc_transpo.csv- Ottawa transit system data -
local_entertainment.csv- Entertainment venue locations from Google Maps Places API
The application requires large screens for optimal viewing and displays a fallback message on mobile devices.