You got the technical bits right, yeah! And honestly I’m coming around a bit on the flat name proposal from that angle
Disclaimer: just adding this as a random thought. Because NA interop would still be extremely suboptimal, as well as not solving the underlying issues to begin with, but I digress.
Has anyone thought about using our postal code system to for regions? Could that work?
Because that would also be way easier to selectively allow repeating within a region.
- BC would be V.
- Adding V5 and V6 would set me in the Vancouver city area.
- And it would be easy to combined that into V56 as a good enough Vancouver city area.
- V234567 could work for a combined coverage area for just Metro Vancouver/Lower Mainland.
- V23456789 for SWBC. Or maybe just V-SWBC because it’s shorter?
Also… It does not solve the human issue. But that’s material for a different post.
I think that would be real confusing to debug, tbh
Personally, I also prefer the flat naming scheme because it is easier for new people to understand.
However, another option, is to base the regions on the local government structure. BC has a nice map which shows the local governments. This makes easy for people to reference and already includes 3-4 letter acronyms for each region
I like Fox’s approach, as people in BC are familiar with these for the most part. As for the highest level, the Europeans still manage inter-country traffic without subsuming national boundaries. In today’s environment, shouldn’t we be using CA? Here’s NL’s take what that would look like: Lijst van regio's - MeshWiki
Here’s a comprehensive proposal
Canada MeshCore Region Strategy
Draft v1.0 — 2026-06-12. Companion to the Pacific Northwest MeshCore Region Strategy, which defines the mechanism this document builds on.
Overview
This document proposes a Canada-wide region naming scheme for MeshCore’s region filtering system (firmware 1.10.0+), which uses hierarchical region tags on repeaters and transport-code scoping on messages to control flood propagation. It covers all ten provinces and three territories, rooted at a single national tag, can. Configuration examples target firmware v1.16+ using the single-line region def command, with a region put fallback for v1.15.
This document is about region tags (flood scoping), not node names. Node naming follows its own convention and its own length limits; see the companion naming document. Region tags never appear in flood packets and have zero airtime cost regardless of length.
Preamble: Sovereignty and Coordination
A Canadian mesh should be organized on Canadian terms. Emergency communications resilience is a sovereign concern: when Canadians coordinate disaster response over mesh radio — a Cascadia subduction event, an ice storm, a wildfire season — the regional vocabulary they coordinate with should reflect Canadian geography and Canadian institutions: regional districts in British Columbia, counties in Ontario and the Maritimes, régions administratives in Quebec, the territorial regions of the North. This scheme therefore stands on its own hierarchy, rooted at can, complete from coast to coast to coast, and dependent on no other country’s framework.
Sovereignty does not mean isolation. Radio waves do not stop at the border, and neither do the communities that build meshes — or the disasters they prepare for. Canadians already coordinate across internal borders as a matter of routine: Lloydminster is one city in two provinces, Ottawa–Gatineau is one capital region in two provinces, and their mesh infrastructure should behave accordingly. The international case works exactly the same way, because of how MeshCore regions function: transport keys are derived from region names alone, and the parent/child hierarchy is purely administrative — it is never consulted when matching packets. Two repeaters that agree on a tag name interoperate, full stop, regardless of which national hierarchy each files that tag under. A Victoria repeater can carry its full Canadian ancestry (can, bc, crd) and the community tags it shares with the cross-border Salish Sea mesh (salishmesh, southisland, vanisle) and, where useful, the PNW ancestry (pnw, west) — all simultaneously, with no conflict and no subordination. Canada keeps its own tree; the border tags are shared handshakes, not grafts.
The same dual-carry pattern that connects Spokane to Coeur d’Alene in the PNW scheme connects Surrey to Blaine, Windsor to Detroit, Niagara to Buffalo, and St. Stephen to Calais — and, inside Canada, Ottawa to Gatineau and Lloydminster to itself.
Design Principles
- Short, flat, human-readable names. Hierarchy lives in parent relationships, never in the strings themselves. (Pattern adopted from the PNW scheme.)
- Canadian mid-tier geography, named — never numbered. Level-3 tags derive from each province’s most intuitive regional layer: regional districts (BC), counties (ON, NB, NS, PE), administrative regions (QC, NT, NU), and hub regions built from local vocabulary where no named layer exists (AB, SK, MB, NL, YT). No “Division No. 6” anywhere.
- Community tags coexist. Established community tags in southern BC (
swbc,vanisle,southisland,salishmesh) are recognized, not replaced. The systematic regional-district tags and the organic community tags are siblings; repeaters carry whichever serve their users, typically both. - Cross-border pragmatism. Border and bi-provincial repeaters dual-carry. Shared tags (
lloyd,ncr,bc,salishmesh) are single names deliberately carried by repeaters on both sides of a line. - Mesh-wide uniqueness, checked against the PNW scheme. Every tag in this document was deduplicated against the published PNW tag set (see Collision Register).
Technical Constraints
(a) Per MeshCore firmware and the PNW strategy document:
| Constraint | Value |
|---|---|
| Characters allowed | Lowercase a–z, 0–9, hyphen |
| Max name length | 29 bytes (UTF-8) |
| Max regions per repeater | 32 |
| Regions response budget | 172 bytes (comma-separated names) |
| Region names must be | Unique within the mesh |
| Transport codes | 16-bit HMAC of the region’s TransportKey; names never transmitted in flood packets |
| Hierarchy | Administrative only; matching is per-name. A repeater must explicitly carry every tag it wants to forward |
region def line length |
One serial line, max 160 characters; split large trees across multiple region def commands (cursor resets to * between commands) |
| Firmware notes | v1.16+: region def builds the hierarchy in a single line. v1.15.0: use region put chains; put enables flood per region. v1.14.x: additionally run region allowf <name> after each put |
Proposed Region Hierarchy
can Canada — national scope
bc British Columbia (shared tag with PNW scheme — see Cross-Border)
mvrd Metro Vancouver
crd Capital / Victoria
fvrd Fraser Valley
cvrd Cowichan Valley
cxrd Comox Valley (disambiguated from Cowichan)
rdn Nanaimo
acrd Alberni-Clayoquot
srd Strathcona
rdmw Mount Waddington
scrd Sunshine Coast
qrd qathet
slrd Squamish-Lillooet
tnrd Thompson-Nicola
rdos Okanagan-Similkameen
rdco Central Okanagan
rdno North Okanagan
csrd Columbia-Shuswap
rdek East Kootenay
rdck Central Kootenay
rdkb Kootenay Boundary
cbrd Cariboo
rdffg Fraser-Fort George / Prince George
rdbn Bulkley-Nechako
rdks Kitimat-Stikine / Terrace
ncrd North Coast / Prince Rupert
ccrd Central Coast
prrd Peace River
nrrm Northern Rockies / Fort Nelson
stk Stikine Region
swbc Southwest BC / Lower Mainland (community tag, coexists with mvrd/fvrd)
vanisle Vancouver Island (community tag)
southisland South Island / Victoria (community tag)
salishmesh Salish Sea / Gulf Islands (community tag)
ab Alberta
mh Medicine Hat & southeast
leth Lethbridge & deep south
cal Calgary region
rocky Mountain corridor (Canmore–Banff–Jasper)
drum Drumheller / Badlands
rd Red Deer / Central Alberta
cam Camrose–Wainwright / east central
edm Edmonton metro
coldlk Lakeland / Cold Lake–St. Paul
ftmac Wood Buffalo / Fort McMurray
wcrt Yellowhead / Whitecourt–Edson–Hinton
peace Peace Country / Grande Prairie
hlvl High Level / far northwest
lloyd Lloydminster (SHARED with sk — single bi-provincial tag)
sk Saskatchewan
estvn Estevan / southeast
wybrn Weyburn
regina Regina region
mj Moose Jaw
swift Swift Current / southwest
yktn Yorkton–Melville
stoon Saskatoon region
btlfd The Battlefords
pa Prince Albert region
melft Melfort–Nipawin
ronge La Ronge / northern Saskatchewan
(lloyd) carried by SK-side Lloydminster repeaters; parented under ab or sk locally
mb Manitoba
wpg Winnipeg
eman Eastman (Steinbach–Lac du Bonnet)
pemb Pembina Valley (Morden–Winkler)
ptge Central Plains (Portage la Prairie)
wman Westman (Brandon)
pkld Parkland (Dauphin)
ilake Interlake
pas The Pas–Flin Flon
thom Thompson
chur Churchill
on Ontario
s-on Southern Ontario (optional intermediate)
ott Ottawa
sdg Stormont, Dundas & Glengarry
pr Prescott & Russell
lg Leeds & Grenville
lan Lanark
fro Frontenac / Kingston
la Lennox & Addington
has Hastings / Belleville
pec Prince Edward County
nth Northumberland
ptb Peterborough
kaw Kawartha Lakes
dur Durham
yrk York Region
tor Toronto
pel Peel
duf Dufferin
wel Wellington / Guelph
htn Halton
ham Hamilton
nia Niagara
hn Haldimand–Norfolk
bra Brant / Brantford
wat Waterloo
per Perth
oxf Oxford
elg Elgin
ck Chatham-Kent
esx Essex / Windsor
lam Lambton / Sarnia
msx Middlesex / London
hur Huron
bru Bruce
gry Grey
sim Simcoe / Barrie
mus Muskoka
hlb Haliburton
ren Renfrew
n-on Northern Ontario (optional intermediate)
nip Nipissing / North Bay
psd Parry Sound
man Manitoulin
sud Sudbury District
gsu Greater Sudbury
tim Timiskaming
coc Cochrane / Timmins
alg Algoma / Sault Ste. Marie
tby Thunder Bay
rrv Rainy River
ken Kenora
ncr National Capital Region (SHARED with qc — see Cross-Border)
qc Québec
bsl Bas-Saint-Laurent
saglac Saguenay–Lac-Saint-Jean
capnat Capitale-Nationale
maur Mauricie
estrie Estrie
mtl Montréal
out Outaouais / Gatineau
abt Abitibi-Témiscamingue
cnord Côte-Nord
nqc Nord-du-Québec
gasp Gaspésie–Îles-de-la-Madeleine
chapp Chaudière-Appalaches
laval Laval
lanau Lanaudière
laur Laurentides
mtrg Montérégie
cqc Centre-du-Québec
(ncr) carried by Gatineau-area repeaters; parented under on or qc locally
nb New Brunswick
alb Albert
carl Carleton
charl Charlotte / St. Stephen
glouc Gloucester
kent Kent
kings-nb Kings
mada Madawaska
nthld Northumberland / Miramichi
qns-nb Queens
resti Restigouche
sj Saint John
sunb Sunbury
vic-nb Victoria
westm Westmorland / Moncton
york York / Fredericton
ns Nova Scotia
anna Annapolis
anti Antigonish
cb Cape Breton / Sydney
col Colchester / Truro
cumb Cumberland
dig Digby
guys Guysborough
hfx Halifax
hants Hants
inv Inverness
kings-ns Kings
lun Lunenburg
pict Pictou
qns-ns Queens
rich Richmond
shel Shelburne
vic-ns Victoria
yar Yarmouth
pe Prince Edward Island
pri Prince / Summerside
qns-pe Queens / Charlottetown
kings-pe Kings
nl Newfoundland and Labrador
avalon Avalon Peninsula / St. John's
burin Burin Peninsula
bonav Bonavista–Trinity–Clarenville
cent Central NL (Gander–Grand Falls-Windsor)
scoast South Coast
steph Bay St. George / Stephenville
humber Humber / Corner Brook
npen Great Northern Peninsula
labw Labrador West
hvgb Lake Melville / Happy Valley-Goose Bay
nain Nunatsiavut coast
yt Yukon
whse Whitehorse & Southern Lakes
kluane Kluane / Haines Junction
dawson Klondike / Dawson City
mayo Silver Trail
watson Watson Lake / southeast
oldcrow North Yukon
nt Northwest Territories
nsl North Slave / Yellowknife
ssl South Slave
dehcho Dehcho
sahtu Sahtu
inuvik Inuvik / Beaufort Delta
nu Nunavut
qik Qikiqtaaluk / Iqaluit
kiv Kivalliq / Rankin Inlet
kitik Kitikmeot / Cambridge Bay
Name Rationale and Basis
The underlying regional structures are documented, with sources and epistemic labels, in the companion document Canadian Regional Code Scheme: (a) BC’s 27 regional districts + Stikine + Northern Rockies; (a) Ontario’s 49 upper-tier units (verified name-for-name); (a) Quebec’s 17 administrative regions; (a) the 15/18/3 counties of NB/NS/PE (verified); (a) the NWT’s 5 and Nunavut’s 3 regions; (b) hub-region constructions for AB, SK, MB, NL, and YT built from local vocabulary (Eastman, Peace Country, the Avalon, “Stoon,” “Fort Mac”). All tag spellings here are the lowercase forms of that scheme, with BC restored to its full established acronyms.
Collision Register
Region names must be unique mesh-wide, including against the published PNW scheme. Conflicts found and resolved:
| Conflict | Resolution |
|---|---|
ca = California in the PNW scheme |
Canada roots at can |
kit = Kitsap, WA in the PNW scheme |
Kitikmeot is kitik |
| Queens County ×3 (NB, NS, PE) | nb-qns, ns-qns, pe-qns |
| Kings County ×3 (NB, NS, PE) | nb-kings, ns-kings, pe-kings |
| Victoria County ×2 (NB, NS) | nb-vic, ns-vic |
| Lloydminster (AB + SK) | One shared lloyd tag — deliberate, not a collision; see Cross-Border |
bc, swbc, vanisle, southisland, salishmesh already exist in the PNW scheme |
Shared deliberately — same names, same transport keys, seamless interop |
New tags proposed by future regional groups should be checked against both this document and the PNW tag set before adoption.
Cross-Border and Bi-Provincial Regions
The pattern in every case is the PNW scheme’s dual-carry: a repeater near a boundary carries the tags of both sides. Because matching is per-name and parents are administrative, this Just Works.
Lloydminster (AB/SK). One city, one mesh community, one tag: lloyd. AB-side repeaters parent it under ab, SK-side under sk; both derive the identical transport key. This is the domestic proof-of-concept for every border case below.
Ottawa–Gatineau (ON/QC). The shared tag is ncr (National Capital Region — a name both sides already use). Ottawa repeaters carry can, on, s-on, ott, ncr; Gatineau repeaters carry can, qc, out, ncr. An ncr-scoped message reaches both sides of the river; on- and qc-scoped traffic stays provincial.
BC ↔ PNW. Southern BC participates in both trees. The bc tag itself is shared between this scheme and the PNW scheme — a BC repeater may parent it under can, a PNW document may show it under pnw; the packets don’t care. Lower Mainland and Island repeaters are encouraged to carry their community tags (swbc, vanisle, southisland, salishmesh) alongside their regional-district tags, and may add pnw/west ancestry for participation in PNW-wide scopes. Cascadia preparedness traffic in particular benefits from the shared salishmesh and pnw scopes spanning the border.
Other border corridors (pattern, for future coordination): Windsor–Detroit (esx + a future US Midwest metro tag), Niagara–Buffalo (nia + future WNY tag), St. Stephen–Calais (charl + future Maine tag), Whatcom–Lower Mainland (US side already has bli; BC-side border repeaters may carry it). The rule in all cases: the metro/community tag is one shared name; each side keeps its own national/provincial ancestry.
I like this as a start, but IMO, we can trim a lot of these out at least for now, specially Ontario which has a lot of very small/low-pop regions here - okay if I take a crack at redoing the Ontario bits?
Repeater Configuration Examples
Examples use region def (firmware v1.16+), which builds the whole hierarchy in a single line.
region def syntax (a — official CLI reference):
- Tokens are processed left to right; each token becomes a child of the previous one (a linear chain). The cursor starts at the root
*. - A token written
child|ancestorrepositions: it placeschildunder the already-definedancestor, letting one line express branched trees. Each token splits at most once on|—a|b|cis not valid shorthand. - Equivalent to the corresponding chain of
region putcommands; on error, regions placed before the failure remain (like a partialputchain). - It does not clear the existing tree: an existing name has its parent updated;
region removeunwanted regions first if rebuilding. - One serial line, max 160 characters; split larger trees across multiple
region defcommands (the cursor resets to*between commands, so lead the next command withchild|ancestorto reposition). - (b) Flood behavior follows
region putv1.15+ semantics (flood enabled per defined region); confirm on-device withregion dumpafter configuring.
Fallback: on v1.15.0, use the equivalent region put chain (one line shown per region, put <child> <parent>); on v1.14.x additionally region allowf <name> per region.
Vancouver — Coal Harbour (Metro Vancouver):
region def can bc mvrd
region save
Tags: can,bc,mvrd (12 bytes). Optional PNW/community participation, second line:
region def west pnw swbc|bc salishmesh|bc
region save
Tags become: can,bc,mvrd,west,pnw,swbc,salishmesh (37 bytes — well within the 172-byte budget).
Victoria (Capital RD + South Island community):
region def can bc crd vanisle|bc southisland
region save
Tags: can,bc,crd,vanisle,southisland (31 bytes). vanisle|bc branches back under bc; southisland then chains under vanisle.
Lloydminster (either side):
region def can ab lloyd sk|can
region save
Tags: can,ab,sk,lloyd (16 bytes). The lloyd parent (ab vs sk) is cosmetic; SK-side operators may prefer region def can sk lloyd ab|can.
Ottawa:
region def can on s-on ott ncr|on
region save
Tags: can,on,s-on,ott,ncr (20 bytes).
Gatineau:
region def can qc out ncr|qc
region save
Tags: can,qc,out,ncr (15 bytes).
Toronto:
region def can on s-on tor
region save
Tags: can,on,s-on,tor (16 bytes).
Halifax:
region def can ns hfx
region save
Tags: can,ns,hfx (11 bytes).
Every example above is far under the 160-character line limit; even the longest realistic Canadian config (full BC ancestry plus PNW and community tags) fits in two region def lines.
Scoping Behavior
| Scope on message | Forwarded by |
|---|---|
| (none) | Unscoped/legacy flood (root * policy) |
can |
Every repeater in Canada carrying can |
bc, on, qc, … |
Provincial/territorial scope |
s-on, n-on |
Ontario halves |
mvrd, tor, hfx, … |
Regional scope |
lloyd, ncr |
Bi-provincial communities, both sides |
salishmesh, pnw |
Cross-border communities, both countries |
Budgets stay comfortable: the deepest ancestry in this scheme is five tags (can,on,s-on,ott,ncr = 20 bytes of the 172-byte response budget; max 32 regions per repeater).
Adoption Notes
- This is a proposal, offered in the same spirit as the PNW strategy: published naming is the coordination mechanism, since transport keys derive from names.
- Provincial and community groups own their subtrees. Hub-region boundaries in AB/SK/MB/NL/YT are deliberately fuzzy — repeaters self-assign to their natural hub — and locals should adjust names that don’t ring true; just register changes against the Collision Register.
- BC community tags predate this document and take precedence in their areas; the regional-district tags add systematic coverage, they don’t replace community identity.
- Coordinate new cross-border tags with the neighbouring scheme’s maintainers before deploying.
Repeater Configuration Examples
Examples use region def (firmware v1.16+), which builds the whole hierarchy in a single line.
region def syntax (a — official CLI reference):
- Tokens are processed left to right; each token becomes a child of the previous one (a linear chain). The cursor starts at the root
*. - A token written
child|ancestorrepositions: it placeschildunder the already-definedancestor, letting one line express branched trees. Each token splits at most once on|—a|b|cis not valid shorthand. - Equivalent to the corresponding chain of
region putcommands; on error, regions placed before the failure remain (like a partialputchain). - It does not clear the existing tree: an existing name has its parent updated;
region removeunwanted regions first if rebuilding. - One serial line, max 160 characters; split larger trees across multiple
region defcommands (the cursor resets to*between commands, so lead the next command withchild|ancestorto reposition). - (b) Flood behavior follows
region putv1.15+ semantics (flood enabled per defined region); confirm on-device withregion dumpafter configuring.
Fallback: on v1.15.0, use the equivalent region put chain (one line shown per region, put <child> <parent>); on v1.14.x additionally region allowf <name> per region.
Vancouver — Coal Harbour (Metro Vancouver):
region def can bc mvrd
region save
Tags: can,bc,mvrd (12 bytes). Optional PNW/community participation, second line:
region def west pnw swbc|bc salishmesh|bc
region save
Tags become: can,bc,mvrd,west,pnw,swbc,salishmesh (37 bytes — well within the 172-byte budget).
Victoria (Capital RD + South Island community):
region def can bc crd vanisle|bc southisland
region save
Tags: can,bc,crd,vanisle,southisland (31 bytes). vanisle|bc branches back under bc; southisland then chains under vanisle.
Lloydminster (either side):
region def can ab lloyd sk|can
region save
Tags: can,ab,sk,lloyd (16 bytes). The lloyd parent (ab vs sk) is cosmetic; SK-side operators may prefer region def can sk lloyd ab|can.
Ottawa:
region def can on s-on ott ncr|on
region save
Tags: can,on,s-on,ott,ncr (20 bytes).
Gatineau:
region def can qc out ncr|qc
region save
Tags: can,qc,out,ncr (15 bytes).
Toronto:
region def can on s-on tor
region save
Tags: can,on,s-on,tor (16 bytes).
Halifax:
region def can ns hfx
region save
Tags: can,ns,hfx (11 bytes).
Every example above is far under the 160-character line limit; even the longest realistic Canadian config (full BC ancestry plus PNW and community tags) fits in two region def lines.
Scoping Behavior
| Scope on message | Forwarded by |
|---|---|
| (none) | Unscoped/legacy flood (root * policy) |
can |
Every repeater in Canada carrying can |
bc, on, qc, … |
Provincial/territorial scope |
s-on, n-on |
Ontario halves |
mvrd, tor, hfx, … |
Regional scope |
lloyd, ncr |
Bi-provincial communities, both sides |
salishmesh, pnw |
Cross-border communities, both countries |
Budgets stay comfortable: the deepest ancestry in this scheme is five tags (can,on,s-on,ott,ncr = 20 bytes of the 172-byte response budget; max 32 regions per repeater).
Adoption Notes
- This is a proposal, offered in the same spirit as the PNW strategy: published naming is the coordination mechanism, since transport keys derive from names.
- Provincial and community groups own their subtrees. Hub-region boundaries in AB/SK/MB/NL/YT are deliberately fuzzy — repeaters self-assign to their natural hub — and locals should adjust names that don’t ring true; just register changes against the Collision Register.
- BC community tags predate this document and take precedence in their areas; the regional-district tags add systematic coverage, they don’t replace community identity.
- Coordinate new cross-border tags with the neighbouring scheme’s maintainers before deploying.
Go for it! That said, why trim anything out? They don’t have to be used today, it’s about full coverage.
imo, if we’re going with flat naming schemes for ease of understanding, it makes sense to have that as the goal for the total list too - the current ontario list is a bit overwhelming. the second big reason is that it could better reflect how the mesh is structured in reality.
i’ll get a revised list proposal for ontario asap
might be worth consulting with folks from each province, too
Here’s a proposal for Ontario region codes, based on this regional map (numbers match the map):
tor (5) # TORONTO
ham (2 + 3) # HAMILTON + NIAGARA
gtha (2 + 3 + 5) # GREATER TOR. & HAMILTON AREA + NIAGARA
gol (2 + 3 + 5 + WNY) # GREATER ONTARIO LAKE - GTHA + WESTERN NEW YORK
yrk (6) # YORK REGION
kaw (8) # KAWARTHA LAKES
ott (10 + 11) # OTTAWA + HALIBURTON HIGHLANDS
wat (4) # WATERLOO
n-on (13) # NORTHERN ONTARIO
se-on (9) # S.E ONTARIO (KINGSTON)
sw-on (1) # S.W ONTARIO (LONDON)
cn-on (7 + 12) # CENTRAL ONTARIO (SIMCOE + MUSKOKA)
I think it reflects how the mesh is building out here, though I’d gladly take feedback on it from the S.E ontario & Ottawa folks, since I’m not nearly as familiar with that area ![]()
OK, but the jist of the proposal is that it is linked to already existing gov’t boundaries, and so it limits back and forth. This is all for the region tree, not for node naming. That said, it does propose folks in region have the final say, so have at it.
I get that, but e.g the mesh in the entire GTHA is very linked together in a way where splitting it up into subregions by default would make much less sense; plus, a ton of towns in Ontario are small enough that they make less sense. Greater Sudbury vs Sudbury district, e.g, would be pretty redundant.
Yeah, makes sense. How about proposing mergers of the existing government boundaries, rather than relying on the loose definitions of the Tourism Board. Collapse up to the level that makes sense without losing the source and opening the whole thing up to giant opinions?
I honestly quite like the boundaries of that map, but I think I can get to them in terms of the administrative subdivisions if that’s what you mean? for defining them formally
Yeah, use them as building blocks, that would be great. Then if they ever need to be subdivided for growth, the answer is arleady there.
Apologies, slightly off topic but mentioned. GOL… we should correct this before it’s needed elsewhere. Context. Greater Ontario Lake Mesh, aka GOLM, comes from a larger MeshMapper view. It should be changed to Lake Ontario for usability. Ontario Lake twists my brain when I read it. It should be GLO or GLOM. Or just LO. Something will be needed for that cross border area. It’s only going to get wider. The lake is going to stitch up like a pair of boots.
Here’s a WIP for Ontario, split into several sub-regions. The big TODOs are doing a renaming pass for the municipal regions (a.k.a, just replacing it all with the abbrevs from yr proposal @YVR-CoalHarbour, i just didn’t do that as I was writing) and coming up with the GLO/GOLM/GLOM/OL/LO mega-region ![]()
numbers are from https://www.ontario.ca/files/2023-06/mof-demographic-summer-map-2023-en-790x551-2023-12-06.png
gtha # greater toronto & hamilton area (1-5, 10, 12, 6, 8)
gta # greater toronto area (1-5)
tor # toronto (1)
dur # durham (2)
hal # halton (3)
pel # peel (4)
yrk # york (5)
ham # hamilton (10)
nia # niagara (12)
hdn # haldimand-norfolk (8)
brt # brant (6)
ktw # kitchener-waterloo (7, 17-18, 38)
duf # dufferin (7)
wat # waterloo (17)
prt # perth (38)
wel # wellington (18)
shur # south lake huron (29, 32-33)
hur # huron (33)
bru # bruce (29)
gre # grey (32)
lsim # lake simcoe (11, 15-16) - todo, better name for this ?
sim # simcoe (15)
kwt # kawartha lakes (16)
mus # muskoka (11)
nw-on # northwest ontario (47-49)
ken # kenora (47)
rnr # rainy river (48)
thd # thunder bay (49)
ne-on # northeast ontario (39-46)
alg # algoma (39)
coc # cochrane (40)
mnt # manitoulin (41)
nip # nipissing (42)
prs # parry sound (43)
gsd # greater sudbury (44) TODO: region containing 44 and 45? this bothers me
sud # sudbury (45)
tim # timiskaming (46)
se-on # southeast-ontario (20, 21, 23-24, 26)
pec # prince-edward county (26)
lnx # lennox & addington (24)
frt # frontenac (20)
hst # hastings (21)
nth # northumberland (13)
ptb # peterborough (14)
alg # algonquin area (wip name)
ren # renfrew (27)
lan # lanark (22)
ott # ottawa (19)
psr # prescott & russel (25)
sdg # stormont, dundas & glengarry (28)
ldg # leeds & grenville (23)
hal # haliburton (9)
sw-on # southwest ontario
esx # essex (31)
chk # chatham-kent (34)
elg # elgin (30)
lmb # lambton (35)
msx # middlesex (36)
oxf # oxford (37)
just noticed ALG is duplicated. def needs a renaming pass ![]()
Okay, here’s a more refined ver of the Ontario regions proposal. Standardizing all super-regions to have a -on suffix, plus all subregions are three letter codes.
gtha-on # greater toronto & hamilton area (1-5, 10, 12, 6, 8)
gta # greater toronto area (1-5)
tor # toronto (1)
dur # durham (2)
htn # halton (3)
pel # peel (4)
yrk # york (5)
ham # hamilton (10)
nia # niagara (12)
hdn # haldimand-norfolk (8)
bra # brant (6)
ktw-on # kitchener-waterloo (7, 17-18, 38)
duf # dufferin (7)
wat # waterloo (17)
per # perth (38)
wel # wellington (18)
shur-on # south lake huron (29, 32-33)
hur # huron (33)
bru # bruce (29)
gry # grey (32)
lsim-on # lake simcoe (11, 15-16) - todo, better name for this ?
sim # simcoe (15)
kaw # kawartha lakes (16)
mus # muskoka (11)
hlb # haliburton (9)
nw-on # northwest ontario (47-49)
ken # kenora (47)
rrv # rainy river (48)
tby # thunder bay (49)
ne-on # northeast ontario (39-46)
aga # algoma (39)
coc # cochrane (40)
mnt # manitoulin (41)
nip # nipissing (42)
psd # parry sound (43)
gsu # greater sudbury (44) TODO: region containing 44 and 45? this bothers me
sud # sudbury (45)
tim # timiskaming (46)
se-on # southeast-ontario (20, 21, 23-24, 26)
pec # prince-edward county (26)
lnx # lennox & addington (24)
frt # frontenac (20)
has # hastings (21)
nth # northumberland (13)
ptb # peterborough (14)
alg-on # algonquin area (wip name)
ren # renfrew (27)
lan # lanark (22)
ott # ottawa (19)
psr # prescott & russel (25)
sdg # stormont, dundas & glengarry (28)
ldg # leeds & grenville (23)
sw-on # southwest ontario
esx # essex (31)
chk # chatham-kent (34)
elg # elgin (30)vdflo
lmb # lambton (35)
msx # middlesex (36)
oxf # oxford (37)
Nice! I’ll re-integrate for v1.1 in the next couple of days. ![]()

