Ottawa Neighborhoods & Suburbs
To make it easier to figure out the general location of unknown facilities (the address is kind of unhelpful), I group facilities into central/east/west/south sectors and include a label for the general region.
This page explains my methodology to determine the grouping.
Region Sector boundary Facility
Regions#
Defining the boundaries of areas such as Gloucester, Kanata, Orléans, Vanier, Centretown and Westboro is more challenging than it might initially appear. While any person in Ottawa could probably tell you where they are, there isn’t any authoritative source clearly defining the boundaries, especially if you don’t want the names to be general enough to be useful for someone not already familiar with the area.
If you break things down by the official ward boundaries, it mostly works. However, what most people would refer to as “Westboro” is actually named “Kitchissippi”, “Alta Vista” is spread across multiple, and downtown areas are split across several wards, making them a poor match for intuitive labels.
If you instead use detailed neighbourhood definitions, the Ottawa Neighbourhood Study provides a well-documented set of boundaries with associated demographic data. However, these neighbourhoods are intentionally granular and statistically oriented, resulting in a level of fragmentation that is too fine for it to be used as a high-level grouping mechanism.
Postal code areas provide another alternative, but they are designed for mail routing rather than geography. As a result, they often produce awkward splits in suburban regions such as Orléans and Barrhaven, and they can vary significantly in spatial size, making them too inconsistent for this purpose.
I eventually realized that the labels already present on common mapping tools (e.g., Google Maps, OpenStreetMap) were basically what I wanted. However, further investigation revealed that these labels correspond to a point near the centre rather than defined polygons I could use to group facilities.
A common way to derive regions from such point data is to construct a Voronoi diagram, which partitions space so that every location is assigned to the nearest labelled point. This produces a set of non-overlapping cells that approximate areas around each place name.
I implemented this approach using OpenStreetMap data (via the Overpass API), and it turns out that it classifies almost all facilities the way you’d expect, while remaining deterministic, reproducible, and free from subjective boundary decisions.
There were a few edge cases for facilities within a few hundred meters of the computed boundaries, but these were fixable by adding a weight mechanism so I could bump them slightly.
Sectors#
For the more broad central/south/east/west classifications, I just drew some approximate lines.
Region centrepoints#
This is the OpenStreetMap data I use to determine the boundaries.
| Name | Entity Type | Latitude | Longitude |
|---|---|---|---|
| Almonte | Town | 45.22605 | -76.19453 |
| Alta Vista | Suburb | 45.38655 | -75.66254 |
| Angers | Village | 45.52408 | -75.49166 |
| Appleton | Village | 45.18131 | -76.12581 |
| Arnprior | Town | 45.43351 | -76.35437 |
| Ashton | Village | 45.15680 | -76.03226 |
| Aylmer | Suburb | 45.39509 | -75.84425 |
| Balderson | Village | 44.95209 | -76.32686 |
| Barrhaven | Suburb | 45.28017 | -75.75971 |
| Bells Corners | Suburb | 45.32008 | -75.82967 |
| Berwick | Village | 45.17570 | -75.10904 |
| Bishops Mills | Village | 44.87249 | -75.70098 |
| Blackburn Hamlet | Suburb | 45.43197 | -75.56428 |
| Blakeney | Village | 45.26679 | -76.24432 |
| Bourget | Village | 45.43487 | -75.15789 |
| Braeside | Village | 45.46114 | -76.40199 |
| Brinston | Village | 44.93963 | -75.35993 |
| Bristol | Village | 45.53045 | -76.45753 |
| Buckingham | Town | 45.58647 | -75.41683 |
| Burnstown | Village | 45.38913 | -76.57945 |
| Burritts Rapids | Village | 44.98072 | -75.79703 |
| Cantley | Village | 45.56647 | -75.78232 |
| Carleton Place | Town | 45.14034 | -76.14657 |
| Carlington | Suburb | 45.37994 | -75.73152 |
| Carp | Village | 45.34515 | -76.03672 |
| Casselman | Town | 45.31353 | -75.08675 |
| Centretown | Suburb | 45.41634 | -75.69429 |
| Chelsea | Village | 45.50317 | -75.80802 |
| Cheney | Village | 45.41115 | -75.24242 |
| Chesterville | Village | 45.10243 | -75.22892 |
| Clarence Creek | Village | 45.50699 | -75.21835 |
| Clarence-Rockland | City | 45.47655 | -75.21052 |
| Clayton | Village | 45.19157 | -76.32641 |
| Constance Bay | Village | 45.48623 | -76.07357 |
| Crysler | Village | 45.21848 | -75.15275 |
| Cumberland | Village | 45.51677 | -75.41070 |
| Embrun | Town | 45.27420 | -75.27491 |
| Fallbrook | Village | 44.95614 | -76.39127 |
| Farm Point | Village | 45.60276 | -75.89259 |
| Finch | Village | 45.14322 | -75.08493 |
| Fitzroy Harbour | Village | 45.47169 | -76.21491 |
| Franktown | Village | 45.04063 | -76.06059 |
| Galetta | Village | 45.42523 | -76.25568 |
| Gatineau | City | 45.42777 | -75.71098 |
| Gloucester | Suburb | 45.43506 | -75.60893 |
| Greely | Village | 45.26270 | -75.56003 |
| Hallville | Village | 45.06178 | -75.51759 |
| Hammond | Village | 45.44158 | -75.23994 |
| Hintonburg | Suburb | 45.40297 | -75.72513 |
| Hopetown | Village | 45.08225 | -76.44600 |
| Hull | Suburb | 45.44058 | -75.73268 |
| Innisville | Village | 45.05376 | -76.25003 |
| Iroquois | Village | 44.84928 | -75.31511 |
| Jasper | Village | 44.83251 | -75.93473 |
| Kanata | Suburb | 45.31280 | -75.89405 |
| Kars | Village | 45.15493 | -75.64842 |
| Kemptville | Town | 45.01542 | -75.64457 |
| Kenmore | Village | 45.22789 | -75.41453 |
| Kinburn | Village | 45.39177 | -76.18834 |
| Lac-des-Loups | Village | 45.68540 | -76.21097 |
| Lanark | Village | 45.01814 | -76.36499 |
| Limoges | Village | 45.33414 | -75.25200 |
| Lombardy | Village | 44.82409 | -76.09230 |
| Louisville | Village | 44.89771 | -75.01602 |
| Lowertown | Suburb | 45.43249 | -75.68938 |
| Luskville | Village | 45.53260 | -76.01447 |
| Manotick | Village | 45.22644 | -75.68606 |
| Mariatown | Village | 44.88483 | -75.20348 |
| Masson | Village | 45.54452 | -75.41653 |
| Masson-Angers | Suburb | 45.54670 | -75.43808 |
| Merrickville | Town | 44.91611 | -75.83693 |
| Merrickville-Wolford | Village | 44.86345 | -75.85012 |
| Metcalfe | Town | 45.23622 | -75.47264 |
| Middleville | Village | 45.09806 | -76.39626 |
| Morewood | Village | 45.17750 | -75.28544 |
| Morrisburg | Town | 44.89770 | -75.18296 |
| Mountain | Village | 45.03383 | -75.49489 |
| Munster | Village | 45.16433 | -75.93986 |
| Navan | Village | 45.42111 | -75.42595 |
| Nepean | Suburb | 45.34469 | -75.76394 |
| Newington | Village | 45.11659 | -75.01370 |
| North Gower | Village | 45.13326 | -75.71653 |
| Norway Bay | Village | 45.51825 | -76.41612 |
| Old Ottawa East | Suburb | 45.40829 | -75.67594 |
| Old Ottawa South | Suburb | 45.39381 | -75.68412 |
| Orléans | Suburb | 45.48103 | -75.51000 |
| Osgoode | Village | 45.14088 | -75.61546 |
| Ottawa | City | 45.42088 | -75.69011 |
| Oxford Mills | Village | 44.96544 | -75.67816 |
| Pakenham | Village | 45.33307 | -76.29030 |
| Papineauville | Village | 45.61884 | -75.02014 |
| Pendleton | Village | 45.45049 | -75.06345 |
| Perkins | Village | 45.60015 | -75.61934 |
| Perth | Town | 44.89924 | -76.24873 |
| Plaisance | Village | 45.60635 | -75.11352 |
| Port Elmsley | Village | 44.89265 | -76.12074 |
| Quyon | Village | 45.52046 | -76.23023 |
| Richmond | Village | 45.19433 | -75.83863 |
| Riverside South | Suburb | 45.28211 | -75.68577 |
| Rockcliffe Park | Suburb | 45.45096 | -75.67895 |
| Rockland | Town | 45.54858 | -75.29156 |
| Russell | Town | 45.25732 | -75.35833 |
| Saint Pascal Baylon | Village | 45.49469 | -75.15569 |
| Saint-Pierre de Wakefield | Village | 45.68452 | -75.71803 |
| Saint-Sixte | Village | 45.69874 | -75.20725 |
| Sainte-Cécile-de-Masham | Village | 45.64022 | -76.03723 |
| Sandy Hill | Suburb | 45.42635 | -75.67777 |
| Sarsfield | Village | 45.44205 | -75.34483 |
| Shanly | Village | 44.89098 | -75.47041 |
| Shawville | Village | 45.60356 | -76.49147 |
| Smiths Falls | Town | 44.90133 | -76.02121 |
| South Keys | Suburb | 45.35981 | -75.65364 |
| South Mountain | Village | 44.99027 | -75.45126 |
| Spencerville | Village | 44.84331 | -75.54637 |
| St. Albert | Village | 45.25502 | -75.12210 |
| Stittsville | Suburb | 45.25848 | -75.92064 |
| The Glebe | Suburb | 45.40248 | -75.69239 |
| Thurso | Town | 45.59819 | -75.24605 |
| Vanier | Suburb | 45.43641 | -75.66191 |
| Vars | Village | 45.35599 | -75.35278 |
| Vernon | Village | 45.16089 | -75.46204 |
| Waba | Village | 45.35050 | -76.46195 |
| Waddington | Village | 44.86463 | -75.20416 |
| Wakefield | Village | 45.63997 | -75.92926 |
| Wendover | Village | 45.57260 | -75.12709 |
| Westboro | Suburb | 45.39196 | -75.75429 |
| White Lake | Village | 45.35496 | -76.49125 |
| Williamsburg | Village | 44.97487 | -75.24366 |
| Winchester | Town | 45.09288 | -75.35299 |
Weight tweaks#
To fix the classification of a few facilities near the edges, I added a weight mechanism to tweak the boundaries of some of the regions. Each weight is a distance added to (or, when negative, subtracted from) a region’s reach, so a positive value grows its cell and a negative value shrinks it. A few facilities sit just over a region’s edge but clearly belong to its neighbour; a small weight nudges the boundary past them.
The table below lists each weight and the facilities it reassigned, against the unweighted result. The distance is how far past the unweighted boundary the facility sat, which is the gap the weights had to close. A couple of facilities needed a pair of tweaks: one to shrink the region they were wrongly in, and one to grow the neighbour that should have them.
| Region | Weight | Reassigned facilities |
|---|---|---|
| Aylmer | -1.50 km | Pinhey's Point Historic Site → Constance Bay 0.71 km |
| Centretown | +0.45 km | |
| Hintonburg | -0.60 km | Fisher Park Community Centre → Westboro 0.88 km Plant Recreation Centre → Centretown 0.89 km |
| Old Ottawa South | -0.10 km | Lansdowne Park → The Glebe 0.02 km |
| South Keys | -0.40 km | Albion-Heatherington Recreation Centre → Alta Vista 0.33 km Jim Durrell Recreation Centre → Alta Vista 0.01 km |
| Westboro | +0.60 km |