An interactive map of naturally occuring retirement communities (NORCs) in Toronto and their distances to the nearest TTC stop.
This project was created using the Vite svelte-ts template. To run the project locally, install
packages with yarn
and run yarn dev
(or npm install
and npm run dev
).
To deploy the project, run yarn build
(or npm run build
).
TTC stop amenities, ie benches and shelters, were taken from 3 sources. In the first two cases, this data was joined with TTC stop data using the TTC stop_code.
- Street Furniture - Transit Shelter - City of Toronto Open Data Portal. This data was joined using SITEID column, with the prefix letter 'T' removed. If a stop was found in this dataset, we marked has_shelter=True for that stop
- A City data set obtained by OpenLab specifically highlighting shelters with benches. This data was joined using "TTC Stop ID." If a stop was found in this dataset, we marked has_shelter_with_bench=True for that stop
- Street Furniture - Bench - City of Toronto Open Data Portal. This data was first erroneously joined using SITEID column, but it turns out there appears to be no association between street furniture bench data and TTC stops. So, using geo-analysis any stop that has a bench within 10 meters of it is counted (see "bench_count" in the data).
Unforunately, there are a number of issues with this data. As noted on the Open Data Portal, the 1st and 3rd data sets have no description of their columns, and so it is difficult to understand what kind of shelter or bench is present. We made minimal assumptions and hence made the decision noted with each data set above.
Furthermore, these data sets are inconsistent. Consider the definitions above and see this information:
![image](https://private-user-images.githubusercontent.com/110122/290718631-f3360d3f-37b2-49c4-bd60-f289067b41f6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY2NjI1MDEsIm5iZiI6MTcxNjY2MjIwMSwicGF0aCI6Ii8xMTAxMjIvMjkwNzE4NjMxLWYzMzYwZDNmLTM3YjItNDljNC1iZDYwLWYyODkwNjdiNDFmNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNTI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDUyNVQxODM2NDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ODUzODJjNGY3MmUwNWU0Mzk0NDc4ZjBiMzFjZWVhMDc0YzA4MDlmOWNmOGQwYTliMDdmZTgyMDg5YTY3OWQyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.l8A-7dIYKabPLCmrFXzMyODFPBzRU19-DoyYbBHt02U)
It does not make sense, for example, that has_shelter_with_bench is true for 48 TTC stops where those same stops are marked has_shelter=false based on the other dataset.
This is noted in more detail here: #28 (comment). Furthermore, at times the datasets do not actually reflect what is shown on Google Streetview (which, we acknowledge, may be out of date, or the dataset could be out of date).
Based on examination of the data we had, we made a simple rule noted in the issue above which is visible in our interface:
Amenity = "Shelter with Bench Underneath" if has_shelter_with_bench = true
Amenity = "Shelter without bench" if has_shelter_with_bench = false AND has_shelter = true
If a bench is within 10 meters and there is no existing "Shelter with Bench Underneath", then the amenity property also includes "Bench nearby."
This is not perfect, but it conservatively reflects what we can reliably say given the data, without analyzing every single stop on Google StreetView or in person.
- Leaflet implementation based on this repo, referenced in this (actually informative) video
- Turns out configuring TailwindCSS with Svelte is a bit of a pain, used
svelte-add to do this:
npx --yes svelte-add@latest tailwindcss
- Stops downloaded from here
- TTC logo downloaded here
- Building logo downloaded here
- Route logo downloaded here information below is from the original development set up template