Methodology

What this maps

Every named settlement (OSM place=city/town/village/hamlet/suburb) in Finland, Sweden, and Vietnam, fetched via the workspace osmkit toolkit.

How a name is matched

Finland: the compound-final suffix of the single written word (longest curated suffix wins, casefolded). Vietnam: the first whitespace syllable, with tone marks and đ significant (Tân ≠ Tan, Đông ≠ Dong), Unicode-normalised.

Sweden: matched the same way as Finland — the compound-final suffix of the single written word, longest casefolded match wins, from a curated set of 10 Swedish morphemes (e.g. -sjö lake, -fors rapids, -vik bay, -berg hill, -näs cape, -by village).

Each place gets at most one morpheme. Unmatched places appear as faint dots so density and the gaps (e.g. Khmer/Cham/montagnard naming in the Vietnamese south and highlands) stay visible. The morpheme set is curated for the story, not exhaustive. Counts are as of the build date.

The Sweden ↔ Finland concept bridge

The bridge pairs morphemes that name the same landscape concept across the two languages — it does not introduce any new morphemes. Each side of every pair is one of the existing curated Finnish or Swedish morphemes already matched above. The six pairs:

All six pairs are attested on both sides in the real data — there are 0 dead pairs (every morpheme in every pair occurs at least once in its country's settlements).

The unique-by-province lens

This lens asks a different question: which name-elements are confined to one province rather than spread across the country?

The 0.7 threshold was chosen against the live data — high enough that an element is genuinely local, low enough that real regional substrates survive. On the real data the top provinces are Varsinais-Suomi (Finland, 17), Västra Götalands län (Sweden, 62), and Đắk Lắk (Vietnam, 36) — the last carrying Central-Highlands substrate elements ea and krông.

Substrate glosses

A few Vietnamese elements come from older, non-Vietnamese tongues that show through where one province names the world its own way. The unique-by-province drill panel lists each confined element with its count× and the % falling in that province — it does not print a gloss. Two glosses worth noting (not shown in the UI):

These glosses are curated; verify before citing. They are offered as a reading aid for the substrate story, not as authoritative etymology.

The terrain layer

The faint geography under the dots is OpenStreetMap water, coastline, and rivers (natural=water, natural=coastline, waterway=river), simplified for display (~0.015° ≈ 1.7 km) and thresholded to drop minor features — tiny ponds, sub-2 km coastline skerries, short river stubs — so only the geography that gives a name its reason remains. It is deliberately not a basemap: no roads, no labels, no tiles; only the physical ground a name sits on. Map framing uses stepped presets — Whole country, Region, Cluster — rather than free pan, so each view has a stable, named frame of reference. Terrain geometry © OpenStreetMap contributors.

The natural-feature analysis

A separate layer asks whether a name keeps its promise: when a place is called "-lake", does it sit on a lake? The source is named natural features only — OSM natural=water (lakes/ponds), natural=peak, natural=hill, and waterway=river — each reduced to a single point. This is the one place in the project where we assert what a name should sit on, and we do it through one small, curated table:

Uncurated morphemes get no verdict — we don't guess what an unlisted name denotes. The table is pinned to the baked data by a guard test, and dead mappings (the Vietnamese sơn/hà/giang) were pruned because no named feature in the data actually carried them.

Step 1 — truth of the name

A feature whose name's morpheme denotes a class that matches its OSM feature type is truthful; a mismatch is a transplanted, fossil name. In Finland a -järvi is a lake 99.96% of the time and a -joki a river 96.7% — the name keeps its promise. But a -mäki is an OSM natural=hill only 4.2% of the time, and a -vaara just 0.3%: those are fossil names carried onto settlements, not the hills themselves. Sweden behaves the same way for its two suffixes — -sjö 99.7% truthful, -berg 97.6%.

Vietnam — the honest null

For Vietnam the analysis simply does not apply, and we say so. Vietnamese feature-names lead with topographic generics — Núi (mountain), Hồ (lake), Sông (river) — that the project's administrative-morpheme set doesn't read; only a single named feature matched a curated morpheme. We show the null rather than invent a story to fill it.

Step 2 — spread

For each real feature with a matched morpheme, we ask whether its truthful name echoes in the settlements around it. Within a radius R = 0.1° (~11 km here, a planar-degree approximation), spread_score = echoing settlements ÷ nearby settlements. The honest caveat: spread is weak almost everywhere (Finland mean ≈ 0.07; most features have no echo at all). A truthful feature-name rarely floods the town names around it — so the per-feature truth view is the primary payoff, and spread is a modest secondary layer.

The features files are judged-only: they carry only the features the analysis can actually rate, not the unverdicted remainder. Each feature © OpenStreetMap contributors.