Skip to content
Toronto Parks Atlas
← back to blog

A newer map of Toronto’s green space

For its first five months the atlas was built on a parks file the City stopped updating in 2018. It now reads the layer that replaced it. The new file knows the difference between a park and a hydro corridor, which meant we finally had to decide what counts as a park.

Colin Smillie

The file we were using had been retired

Every park boundary on this site starts with a polygon from Toronto’s Open Data portal. Until October 2026 those polygons came from a package called Parks. Its files are dated 10 December 2018, and the City retired it in 2022. Nothing on the package said so in a way we noticed, and the data still downloaded, so the atlas kept building on it.

Its replacement is Green Spaces, refreshed monthly. Despite the different names it is the same parcel layer, maintained. The switch brought in parks created or redrawn since 2018, and it brought in something the old file never had: a land class on every parcel.

The retired file labelled every one of its 3,273 rows “CGSP”, City green space. A park, a hydro corridor and a road median all looked the same, so the atlas published all of them as parks. Green Spaces splits them into 19 classes. Only 1,628 of its 3,380 parcels, under half, are classed as a Park.

Every class in the file

The table lists each class, how many parcels the City publishes in it, and how many the atlas now shows. The City does not publish definitions for these classes, so the second column is our reading of what each one contains, not the City’s.

ClassWhat it holdsIn fileShownDecision
ParkA designated City park1,6281,627Published, one listed twice kept once
OTHER_CITYOther City-owned green land690690Published
OTHER_HYDROHydro corridor land251251Published
Building GroundsLand around a City building165165Published, not ranked
OTHER_ROADGreen land in a road allowance138138Published
OTHER_TRCAConservation authority land114114Published
Traffic IslandRoad medians and islands1126Removed, except 6
OTHER_PROVINCIAL_FEDERALProvincial or federal land106106Published
OTHER_CEMETERYCemeteries6464Published
Cul de SacGreen centre of a cul-de-sac2626Published
Open Green SpaceUnclassified open green space2424Published
OTHER_GOLFCOURSEGolf courses2020Published
BoulevardWide planted boulevards1818Published
CemeteryCemeteries77Published
Civic Centre SquareSquares at civic centres66Published
Golf CourseGolf courses55Published
Orphaned SpaceLeftover parcels44Published
Hydro Field/Utility CorridorUtility corridor11Published
OTHER_UNKNOWNNot stated11Published
Table 1. Land classes in the City's Green Spaces layer, downloaded 30 October 2026. 3,380 parcels in the file; 3,273 published.

The atlas also carries 477 parks that OpenStreetMap maps and the City file does not, such as Biidaasige Park in the Port Lands, and two parks kept from the retired file (more on those below). Together that makes 3,752 parks, down from 3,799 before the switch.

The classes that are not “Park” are not a mistake to be cleaned out. A hydro corridor with a trail along it, a ravine slope owned by the conservation authority, or a planted cemetery is green space people use, and the atlas has always measured those. What changed is that we can now see which is which, and three kinds of land needed a decision.

Removed: traffic islands

The file holds 112 traffic islands. Their median size is 290 m², about a suburban house lot, and their names say what they are: “X TRAFFIC ISLAND”, “X MEDIAN STRIP”. They are planted, and the City maintains them, but nobody visits one, and scoring a median for its “vitality” produces a number that means nothing.

We removed 106 of them. Six stay, because they are public spaces in their own right: the Cenotaph and University Avenue islands, Spadina Pier, and the King George West, Alicewood Court and Vimy Ridge parkettes. The rule is mechanical so it can be checked: an island stays if its name says parkette or pier, or it is larger than 5,000 m².

Cul-de-sacs (26) and boulevards (18) looked like the same problem at first. They are not. Many are real neighbourhood green spaces with benches and trees, so they stay.

Kept but not ranked: building grounds

A visitor left a comment on the page for Main Square Community Recreation Centre: “This is not really a park at all. It’s a parking lot for a community centre.” They were right. The City classes that parcel as Building Grounds, the land around a City building, and the old file had given us no way to tell.

There are 165 of these. Some are lawns and playgrounds beside a library or a school that a neighbourhood treats as its park. Others are mostly asphalt. Removing them all would hide real green space, and keeping them in the rankings let a parking lot compete with parks. So they keep their pages, which now say “Grounds of a City building, not a designated park”, and they are left out of every ranking on the site: the insight lists, the home page, and neighbourhood pages.

Kept from the old file: two missing parks

Two parks in the retired file are not in Green Spaces, and OpenStreetMap does not map either as a park: Glendon Forest and Alexander the Great Parkette. Both plainly still exist. Rather than delete their pages, we carry their old boundaries forward, and each page says that the park is missing from the City’s current dataset. If the City restores either one, the new parcel takes over the same page.

Removed, with a forwarding address

Two records disappeared because the old file was wrong. Robert St Playground was a 329 m² sliver drawn beside the actual playground. Its only comment, from a visitor, said “the map is off, the actual park is beside the highlighted area”. The other was a 4 m² fragment of Brimley Woods published as a park of its own. Both old addresses now redirect to the real park, so a bookmarked link still lands somewhere useful.

Keeping every park at the same address

The hardest part of the switch was not the land classes. Park pages on this site are addressed by an id that used to be built from the City’s row number, and the City renumbered every row between the two packages. Taken literally, the switch would have kept 204 of 3,273 park addresses and broken the rest, along with the votes, comments and photo credits attached to them.

So park ids now come from a register of every id the atlas has ever published, and each new parcel is matched to it: first by the City’s area id, then by name and location, then as the same parcel renamed in place. A park keeps its address when its boundary moves from the City’s file to OpenStreetMap or back, and an id that is retired is never handed to a different park. Across the switch, 3,540 addresses carried over unchanged.

Of the 259 addresses that did not carry over, most belong to the traffic islands removed above or to the City’s least specific land: the largest are parcels named “City Wide Open Space” or “Scarborough Hydro Green Space”, redrawn with boundaries that no longer match the old ones closely enough to call them the same place. Those redrawn parcels arrive under new addresses instead. Seven parks we had added from OpenStreetMap, including Honest Ed’s Park and Sugar Beach North, are now mapped by the City itself, and their City records replace them.

What it did to the scores

Less than you might expect. Of the parks that exist on both sides of the switch, 107 changed their overall score, by a median of 1.9 points out of 100. The visible change is in what is being scored and ranked, not in how.

What we have asked the City

The new layer is a real improvement, and it still has gaps worth fixing at the source. Among them: no field groups the 71 parcels of Rouge Park into one park; 451 parcels share the name “City Wide Open Space”; one parcel is published twice; and the facilities file has no key that links a washroom or a rink to the park it sits in. We are sending the full list to the City’s Open Data team.

The rules behind every decision here are on the methodology page, and the sources are on the references page.