https://github.com/justinzhang17/lauriault
Analyzing Ottawa’s Entertainment Landscape to Combat the “Boring City” Stereotype (DATA5000 Course)
https://github.com/justinzhang17/lauriault
deck-gl h3geo hyperui loaders-gl maplibre-gl-js react tailwindcss typescript vercel vite
Last synced: 2 months ago
JSON representation
Analyzing Ottawa’s Entertainment Landscape to Combat the “Boring City” Stereotype (DATA5000 Course)
- Host: GitHub
- URL: https://github.com/justinzhang17/lauriault
- Owner: JustinZhang17
- Created: 2025-03-22T18:47:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-10T16:04:11.000Z (about 1 year ago)
- Last Synced: 2025-06-16T22:40:26.981Z (12 months ago)
- Topics: deck-gl, h3geo, hyperui, loaders-gl, maplibre-gl-js, react, tailwindcss, typescript, vercel, vite
- Language: TypeScript
- Homepage: https://map.spawns.dev
- Size: 2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Project Lauriault
Ottawa Entertainment Visualization - Geospatial Data Analytics
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
## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
### Prerequisites
Node.js 18.0 or higher
```
apt-get update
apt-get install nodejs
```
### Installing
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
```
### Usage
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
## Built With
[]()
[]()
[]()
[]()
[]()
[]()
[]()
[]()
[]()
## Contributing
If you see an issue or would like to contribute, please do & open a pull request or ticket for/with new features or fixes
## Authors
- **Justin Zhang** - _Initial work_ - [JustinZhang17](https://github.com/JustinZhang17)
- **Hanna Khan** - _Initial work_ - [HannaKhan](https://www.linkedin.com/in/hanna-khan-09925a362/)
## License
This project is licensed under the GNU GPLv3 License - see the [LICENSE.md](LICENSE.md) file for details
## Miscellaneous
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.
### [What's the meaning behind the name](https://blog.justinjzhang.com/behind-the-names/)
### [Who is Tracey Lauriault?](https://carleton.ca/sjc/profile/lauriault-tracey/)