Place names for Finland and Iceland via a shared map_places layer (#29) #53

Merged
art merged 2 commits from night/issue-29-place-names into main 2026-08-05 05:53:02 +00:00
Owner

Closes #29


Issue #29 — Place names for Finland and Iceland

Closes #29 (depends on #16, whose catalogue drove the per-country decisions).

What was added

A shared places layer (map_places_<z>, z4–14, geom point + name + importance 1–3), the minimal shape the issue floated: the surveys' name points dumped into the
tile, and MapLibre's collision handling does the decluttering (symbol-sort-key on
importance in the style). No polygon/line-label machinery — that is the explicitly
deferred extension ("find a label and use it to name a whole network of rivers").
Iceland's old per-country places (population polygons) was renamed settlements
so the shared layer could take the name.

Finland — done (data was on disk)

MML paikannimi register, settlement classes 48111/48112 (towns, importance 3),
48120 (villages, 2), 48130 (hamlets, 1); 48190 "other" excluded as noise. Bilingual
duplicates (VAASA/VASA at identical coordinates) deduped DISTINCT ON the point,
Finnish preferred — the repo's established convention. 394 636 register rows →
269 826 points.

Iceland — done (fetch ran)

make fetch-names fetched the LMÍ örnefni register (125 MB, 2026-07-02 edition) —
the catalogue's "not on disk" item, now also declared in ismap.yaml downloads:.
Points only (44 506), importance from the örnefnaflokkur ladder (Stórt/Þéttbýli 3,
Mið/Sveit 2, Lítið 1). The register's lines/polygons (which carry the mid-size names)
stay unimported: they need label-anchor machinery, the deferred extension.
country-iceland.md's stale "örnefni fetched but not imported" is corrected.

Sweden — no partition, noted

No usable place-name source on disk: Sweden's örnefni-equivalent is the Topo 10
text theme (the "points for place names" from the issue), which is not fetched.
The contract comment and this note record it. Fetching the text theme is the
Sweden work item.

Poland — no partition, noted

No place-name points on disk: BDOT10k's 16 fetched classes carry names only on
features (water NAZWA — already rendered — street names, rail line endpoints);
GUGiK's PRNG register (behind IDENTYFIKATORPRNG) is not fetched. Poland's water
was already the only labelled water on the map. A PRNG fetch is the Poland work item.

Verification (numbers)

  • make build; go test ./... in importer/ and mapsrv/ — pass.
  • Imports: -layer places for fimap.yaml and ismap.yaml — both clean atomic swaps.
  • Per-zoom counts (0 NULL names everywhere):
    • FI: z14/z13/z12 269 733; z11…z7 26 839 (imp ≥ 2); z6…z4 308 (imp 3 only).
    • IS: z14 44 547 (44 506 source rows + 41 from multipoint ST_Dump splits);
      z11 17; z6/z5/z4 15 (imp 3 only).
  • Decoded tiles: zxy_map(10, 582, 296) (Helsinki) → layer places, 231 features
    with name/importance/country attributes (HELSINKI, ESPOO, KAUNIAINEN at imp 3);
    zxy_map(12, 1798, 1088) (Reykjavík) → 43 örnefni names.
  • gl-style-validate — clean (run twice, after the sort-key change).
  • Real-browser CDP (headless Chrome, real time, scripts/cdp-map-check.mjs):
    • FI z4: 30 city labels; z5: 65; z10 Helsinki: 176 placed of 933 source
      (VANTAA, HELSINKI, KAUNIAINEN, ESPOO render — after the sort-key fix);
      z12: 59 (HELSINKI + districts); z14 rural: hamlets (Anttila, Pohjola…).
    • IS z12 Reykjavík: 56 örnefni labels + 3 settlement labels + airport label;
      z14: small names; z6: 5 big names (Hlíð, Ísland, Hvammkot…).
    • PL/SE tiles decoded after the world re-import — unchanged, healthy.
  • One live finding, documented in style.md: on MapLibre 5.7.1 symbol-sort-key
    places lower values first — the documented "higher first" silently dropped the
    cities behind the villages in dense views (0 of 3 city names rendered, 176
    villages rendered). Fixed with ["-", ["get", "importance"]].

Left undone

  • Sweden place names — needs the Topo 10 text theme fetched (Geotorget order
    extension; the same fetch that would name Sweden's water). Then it is a config-only
    partition addition to the same shared layer.
  • Poland place names — needs the PRNG register fetched (GUGiK). Config-only after.
  • Iceland örnefni lines/polygons — the mid-size names (Stórt/Mið are mostly
    polygons) need label-anchor machinery; separate issue territory.
  • Names on features (water/peaks/springs via spatial join, à la Finland) — the
    register-level extension the catalogue lists; not this issue.
  • The örnefni data file is in data/ (gitignored); nothing to commit for it beyond
    the downloads: declaration.
Closes #29 --- # Issue #29 — Place names for Finland and Iceland Closes #29 (depends on #16, whose catalogue drove the per-country decisions). ## What was added A **shared `places` layer** (`map_places_<z>`, z4–14, `geom point + name + importance 1–3`), the minimal shape the issue floated: the surveys' name points dumped into the tile, and MapLibre's collision handling does the decluttering (`symbol-sort-key` on importance in the style). No polygon/line-label machinery — that is the explicitly deferred extension ("find a label and use it to name a whole network of rivers"). Iceland's old per-country `places` (population polygons) was renamed `settlements` so the shared layer could take the name. ### Finland — done (data was on disk) MML `paikannimi` register, settlement classes 48111/48112 (towns, importance 3), 48120 (villages, 2), 48130 (hamlets, 1); 48190 "other" excluded as noise. Bilingual duplicates (VAASA/VASA at identical coordinates) deduped `DISTINCT ON` the point, Finnish preferred — the repo's established convention. 394 636 register rows → 269 826 points. ### Iceland — done (fetch ran) `make fetch-names` fetched the LMÍ örnefni register (125 MB, 2026-07-02 edition) — the catalogue's "not on disk" item, now also declared in ismap.yaml `downloads:`. Points only (44 506), importance from the örnefnaflokkur ladder (Stórt/Þéttbýli 3, Mið/Sveit 2, Lítið 1). The register's lines/polygons (which carry the mid-size names) stay unimported: they need label-anchor machinery, the deferred extension. country-iceland.md's stale "örnefni fetched but not imported" is corrected. ### Sweden — no partition, noted No usable place-name source on disk: Sweden's örnefni-equivalent is the Topo 10 `text` theme (the "points for place names" from the issue), which is **not fetched**. The contract comment and this note record it. Fetching the `text` theme is the Sweden work item. ### Poland — no partition, noted No place-name points on disk: BDOT10k's 16 fetched classes carry names only on features (water `NAZWA` — already rendered — street names, rail line endpoints); GUGiK's PRNG register (behind `IDENTYFIKATORPRNG`) is **not fetched**. Poland's water was already the only labelled water on the map. A PRNG fetch is the Poland work item. ## Verification (numbers) - `make build`; `go test ./...` in importer/ and mapsrv/ — pass. - Imports: `-layer places` for fimap.yaml and ismap.yaml — both clean atomic swaps. - Per-zoom counts (0 NULL names everywhere): - FI: z14/z13/z12 269 733; z11…z7 26 839 (imp ≥ 2); z6…z4 308 (imp 3 only). - IS: z14 44 547 (44 506 source rows + 41 from multipoint ST_Dump splits); z11 17; z6/z5/z4 15 (imp 3 only). - Decoded tiles: `zxy_map(10, 582, 296)` (Helsinki) → layer `places`, 231 features with name/importance/country attributes (HELSINKI, ESPOO, KAUNIAINEN at imp 3); `zxy_map(12, 1798, 1088)` (Reykjavík) → 43 örnefni names. - `gl-style-validate` — clean (run twice, after the sort-key change). - Real-browser CDP (headless Chrome, real time, scripts/cdp-map-check.mjs): - FI z4: 30 city labels; z5: 65; z10 Helsinki: 176 placed of 933 source (VANTAA, HELSINKI, KAUNIAINEN, ESPOO render — after the sort-key fix); z12: 59 (HELSINKI + districts); z14 rural: hamlets (Anttila, Pohjola…). - IS z12 Reykjavík: 56 örnefni labels + 3 settlement labels + airport label; z14: small names; z6: 5 big names (Hlíð, Ísland, Hvammkot…). - PL/SE tiles decoded after the world re-import — unchanged, healthy. - One live finding, documented in style.md: on MapLibre 5.7.1 `symbol-sort-key` places **lower** values first — the documented "higher first" silently dropped the cities behind the villages in dense views (0 of 3 city names rendered, 176 villages rendered). Fixed with `["-", ["get", "importance"]]`. ## Left undone - **Sweden place names** — needs the Topo 10 `text` theme fetched (Geotorget order extension; the same fetch that would name Sweden's water). Then it is a config-only partition addition to the same shared layer. - **Poland place names** — needs the PRNG register fetched (GUGiK). Config-only after. - **Iceland örnefni lines/polygons** — the mid-size names (Stórt/Mið are mostly polygons) need label-anchor machinery; separate issue territory. - **Names on features** (water/peaks/springs via spatial join, à la Finland) — the register-level extension the catalogue lists; not this issue. - The örnefni data file is in `data/` (gitignored); nothing to commit for it beyond the `downloads:` declaration.
Poland, Sweden and Finland needed place names (#29). The minimal approach the
issue floated — import the survey's name points with their name attribute and
let MapLibre's collision handling do the decluttering — turned out to be the
right one for the two countries whose name registers are on disk; the other
two have no name source on disk at all, which the config now says out loud.

New shared layer `places` (map_places_<z>, z4–14, filter_only, geom point +
name + importance 1–3). The contract deliberately promises no polygon or
line-label machinery: polygon names and river-network labels ("name a whole
network of rivers") are the extension the issue flagged, not this layer's job.

- Finland: the MML paikannimi register, settlement classes 48111/48112/48120/
  48130 (the survey's own label-font ladder becomes the importance ladder;
  48190 "other" is noise and excluded). The register stores one row per
  language, so the same place appears twice at identical coordinates —
  DISTINCT ON the point with Finnish preferred, the same convention the water
  and station name joins already use. 394 636 rows collapse to 269 826 points.
- Iceland: the LMÍ örnefni register, fetched via `make fetch-names` (the file
  was the catalogue's #16 "not on disk" item; 2026-07-02 edition). Points only
  (44 506) with importance from the örnefnaflokkur ladder (Stórt/Þéttbýli 3,
  Mið/Sveit 2, Lítið 1). The register's lines and polygons, which carry the
  mid-size names the points lack, stay unimported — they need label-anchor
  machinery. Örnefni also gets a `downloads:` entry so the importer can fetch
  it itself, and country-iceland.md's stale "fetched but not imported" is
  corrected.
- Sweden and Poland: no partition, and the contract comment says why —
  Lantmäteriet's Topo 10 `text` theme (Sweden's örnefni-equivalent, "Swedish
  water names live in the Topo 10 text theme") and GUGiK's PRNG register are
  not fetched. Poland's water names were already on the features (NAZWA).

Renames: Iceland's per-country `places` (population polygons) becomes
`settlements`, because the shared layer takes the name; it was settlement
extents + population, the shared layer is the name register, and the two label
different things. Touches ismap.yaml (layer + zxy_is source list), style.json
(place_labels source-layer) and the docs that named it.

Style: new `place_names` symbol layer (map/places, minzoom 4) with text-size
stepped on importance and symbol-sort-key on importance. One live finding:
on this MapLibre version (5.7.1) the sort key places *lower* values first —
the documented "higher first" silently put the cities behind the villages in
dense views (HELSINKI/ESPOO/KAUNIAINEN vanished while hamlets rendered). It is
negated for that reason; style.md records the caveat.

Also: world.yaml's `map` source layer list gains `places` (the source function
is a static concatenation, and without the entry the browser got old tiles),
and docs/schema.md, style.md, architecture.md, geo-primer.md and AGENTS.md are
updated for the new layer and the rename.

Verified: make build; go test ./... in importer/ and mapsrv/; single-layer
imports for both countries (fi: 269 733 rows at z14 → 308 at z4–6, 26 839 at
z7–11, zero NULL names; is: 44 547 at z14 → 15 at z4–6, 17 at z11); decoded
zxy_map tiles carry the places layer with name/importance attributes; a
Helsinki z10 tile decodes to 231 place features (HELSINKI, ESPOO, KAUNIAINEN
at importance 3); gl-style-validate clean; real-browser CDP checks render
place names at z4/z5 (cities), z10 (cities+villages), z12/z14 (hamlets) for
both countries, with PL/SE tiles unaffected.

Co-Authored-By: Hermes Agent <noreply@nousresearch.com>
Collaborator

Review — #53 (shared places layer, issue #29)

Builds clean, go vet and go test pass. Finland's half is good; Iceland's needs work
before this can merge.

Finland: good

1.17M register rows reduced to something renderable, DISTINCT ON (ST_X, ST_Y) with
Finnish preferred matches the convention the water and station queries already use, and
the 48190 "other" exclusion is the right call. The tiers come out plausible — 308 /
26 531 / 242 894 across importance 3 / 2 / 1 — and the zoom_filters ladder lines up with
the style's step on text-size.

The layer rename to settlements is complete: conf/ismap.yaml, conf/mapsrv.yaml,
conf/world.yaml, html/style.json and the docs all move together, and there is no
dangling reference to the old Iceland places anywhere in the tree.

Iceland: the importance ladder is broken

WHEN ornefnaflokkurkenni % 10 = 1 OR ornefnaflokkurkenni = 10 THEN 3
WHEN ornefnaflokkurkenni % 10 = 2 OR ornefnaflokkurkenni = 11 THEN 2

11 % 10 = 1, so the first branch swallows 11 and the = 11 clause in the second is
unreachable. That is a plain logic bug independent of the data, but the imported result
says something more fundamental is off:

select country, importance, count(*) from map_places_14 group by 1,2;

 is | 1 | 44530
 is | 2 |     2
 is | 3 |    15

And the entire tier-3 set is:

Ásgarðsbærinn, Fjósatjörn, Garður, Grásteinn, Hlíð, Hlíðarlaug, Hvammkot,
Ísland, Klaustur, Klöpp, Nýjibær, Rás, Rásarsker, Sótaleiði, Stóraholt

Fifteen farms and rocks, plus the country itself. No Reykjavík, no Akureyri. Since
zoom_filters keeps only importance >= 3 below z6 and >= 2 below z11, and
place_labels (the settlements layer) does not start until z5, Iceland's z4 country view
labels exactly those fifteen names and not one town.

The config comment also predicts 44 489 tier-1 points against the actual 44 530, which is
the tell that the assumed ornefnaflokkurkenni coding is not the real one — the Stórt /
Mið / Lítið and Þéttbýli / Sveit values need reading off the actual GeoPackage
rather than inferred from an x1 / x2 / x3 pattern. The file is not on this machine,
so it needs make fetch-names to re-verify.

Worth writing the check as an explicit value list once the codes are known, rather than
modular arithmetic — the % 10 trick is what made the collision possible and it will not
survive the next code that does not fit the pattern.

Minor, once that is fixed

place_names and Iceland's place_labels both draw text and can both carry a name for
the same town. MapLibre's cross-layer collision will suppress one of them, but which one
is arbitrary; worth deciding deliberately, e.g. excluding the Þéttbýli classes from the
Iceland places partition since settlements already labels those.

Note

The PR body's heading reads "Place names for Poland, Sweden and Finland" while the title
and the diff are Finland and Iceland. Stale header — conf/plmap.yaml and
conf/semap.yaml are untouched, which the shared-layer comment correctly explains as a
supported state.

## Review — #53 (shared places layer, issue #29) Builds clean, `go vet` and `go test` pass. Finland's half is good; Iceland's needs work before this can merge. ### Finland: good 1.17M register rows reduced to something renderable, `DISTINCT ON (ST_X, ST_Y)` with Finnish preferred matches the convention the water and station queries already use, and the `48190` "other" exclusion is the right call. The tiers come out plausible — 308 / 26 531 / 242 894 across importance 3 / 2 / 1 — and the `zoom_filters` ladder lines up with the style's `step` on `text-size`. The layer rename to `settlements` is complete: `conf/ismap.yaml`, `conf/mapsrv.yaml`, `conf/world.yaml`, `html/style.json` and the docs all move together, and there is no dangling reference to the old Iceland `places` anywhere in the tree. ### Iceland: the importance ladder is broken ```sql WHEN ornefnaflokkurkenni % 10 = 1 OR ornefnaflokkurkenni = 10 THEN 3 WHEN ornefnaflokkurkenni % 10 = 2 OR ornefnaflokkurkenni = 11 THEN 2 ``` `11 % 10 = 1`, so the first branch swallows 11 and the `= 11` clause in the second is unreachable. That is a plain logic bug independent of the data, but the imported result says something more fundamental is off: ``` select country, importance, count(*) from map_places_14 group by 1,2; is | 1 | 44530 is | 2 | 2 is | 3 | 15 ``` And the entire tier-3 set is: ``` Ásgarðsbærinn, Fjósatjörn, Garður, Grásteinn, Hlíð, Hlíðarlaug, Hvammkot, Ísland, Klaustur, Klöpp, Nýjibær, Rás, Rásarsker, Sótaleiði, Stóraholt ``` Fifteen farms and rocks, plus the country itself. No Reykjavík, no Akureyri. Since `zoom_filters` keeps only `importance >= 3` below z6 and `>= 2` below z11, and `place_labels` (the settlements layer) does not start until z5, Iceland's z4 country view labels exactly those fifteen names and not one town. The config comment also predicts 44 489 tier-1 points against the actual 44 530, which is the tell that the assumed `ornefnaflokkurkenni` coding is not the real one — the `Stórt` / `Mið` / `Lítið` and `Þéttbýli` / `Sveit` values need reading off the actual GeoPackage rather than inferred from an `x1` / `x2` / `x3` pattern. The file is not on this machine, so it needs `make fetch-names` to re-verify. Worth writing the check as an explicit value list once the codes are known, rather than modular arithmetic — the `% 10` trick is what made the collision possible and it will not survive the next code that does not fit the pattern. ### Minor, once that is fixed `place_names` and Iceland's `place_labels` both draw text and can both carry a name for the same town. MapLibre's cross-layer collision will suppress one of them, but which one is arbitrary; worth deciding deliberately, e.g. excluding the `Þéttbýli` classes from the Iceland `places` partition since `settlements` already labels those. ### Note The PR body's heading reads "Place names for Poland, Sweden and Finland" while the title and the diff are Finland and Iceland. Stale header — `conf/plmap.yaml` and `conf/semap.yaml` are untouched, which the shared-layer comment correctly explains as a supported state.
art force-pushed night/issue-29-place-names from bec6c67960 to b3c83033e8 2026-08-05 00:17:26 +00:00 Compare
Author
Owner

All review points addressed on night/issue-29-place-names (rebased onto main; commit b3c8303).

1. Iceland's importance ladder — fixed from the real data

The real ornefnaflokkurkenni coding, read off data/is_50v_ornefni_epsg_4326.gpkg, is a two-digit code: first digit = feature category (2 land, 3 sea, 4 water, 5 ice; 1 = settlements/rural), second digit = size (1 Stórt, 2 Mið, 3 Lítið), plus the settlement specials 10 = Þéttbýli and 11 = Sveit. The points table (ornefni_punktar, 44 506 rows) contains exactly:

code meaning rows
23 land, Lítið 37 989
43 water, Lítið 6 181
33 sea, Lítið 314
10 Þéttbýli (byggðarkjarni) 14
53 ice, Lítið 5
22 land, Mið 2
21 land, Stórt 1

The ladder is now an explicit value list — IN (21, 31, 41, 51) → 3, IN (11, 22, 32, 42, 52) → 2, else 1 — no modular arithmetic. New z14 distribution: is | 1 | 44 530, is | 2 | 2, is | 3 | 1. The old 44 530 − 44 489 tier-1 delta was 41 multipoint ST_Dump splits, not a coding error; the coding was wrong in a different way: the points table's only Stórt feature is Ísland itself (code 21, eyja), and the two Mið are Sundhnúkur and Kolbeinsey — the register's points carry no towns at all. That is what made the old tier-3 set fifteen farms/rocks plus the country name.

2. z4 country view now labels actual towns — verified

Reykjavík and Akureyri are not örnefni points — they are code-10 (byggðarkjarni) polygons in ornefni_flakar and live in the mannvirki settlements layer. Since the places partition excludes Þéttbýli, the settlements layer is now the town labeler and starts at z4 (stop_z: 4, place_labels minzoom 4) instead of z5. Its z6 filter (population >= 4000) keeps Reykjavík (135 714), Kópavogur, Hafnarfjörður, Akureyri, Selfoss, Akranes and Vestmannaeyjar at the country view. Verified: decoded z4 tile (7/4) carries 23 settlement features including Reykjavík and Akureyri, and a real-browser CDP render at z4/z5 shows town labels (Akureyri, Selfoss, Akranes, Vestmannaeyjar, Ásbrú…) plus "Ísland" from the places layer.

3. Þéttbýli exclusion — implemented

Code 10 (the 14 byggðarkjarni points — exactly the "fifteen farms and rocks" minus Ísland) is excluded from the Iceland places partition (AND ornefnaflokkurkenni != 10), so place_names and place_labels no longer both carry the same town and MapLibre's cross-layer collision has nothing to arbitrate. The old tier-3 names survive only at importance 1 where the register genuinely holds small features of the same name (e.g. the many "Grásteinn" rocks, code 23).

4. PR body heading — fixed

The stale "Place names for Poland, Sweden and Finland" heading is now "Place names for Finland and Iceland" (title, diff and body agree).

Verification summary

  • -layer places,settlements conf/ismap.yaml reimport: clean, atomic swaps; 44 492 source rows (44 506 − 14 excluded) + 41 splits.
  • Per-zoom IS places: z4–6 → 1 (Ísland), z7–11 → 3, z12+ → 44 533. IS settlements: z4–6 → 24 towns, z7–8 → 49, z9–10 → 86, z11–12 → 126.
  • Zero NULLs in name/importance/country and nafnfitju/population.
  • Decoded z4 tile: places = Ísland importance 3; settlements = 23 features with Reykjavík/Akureyri. z14 tile decodes names with importance intact.
  • gl-style-validate clean; real-browser CDP render at z4/z5 confirms town labels.
  • Finland untouched (308/26 531/242 894 unchanged).
All review points addressed on `night/issue-29-place-names` (rebased onto main; commit `b3c8303`). ## 1. Iceland's importance ladder — fixed from the real data The real `ornefnaflokkurkenni` coding, read off `data/is_50v_ornefni_epsg_4326.gpkg`, is a **two-digit code**: first digit = feature category (2 land, 3 sea, 4 water, 5 ice; 1 = settlements/rural), second digit = size (1 Stórt, 2 Mið, 3 Lítið), plus the settlement specials **10 = Þéttbýli** and **11 = Sveit**. The points table (`ornefni_punktar`, 44 506 rows) contains exactly: | code | meaning | rows | |---|---|---| | 23 | land, Lítið | 37 989 | | 43 | water, Lítið | 6 181 | | 33 | sea, Lítið | 314 | | 10 | Þéttbýli (byggðarkjarni) | 14 | | 53 | ice, Lítið | 5 | | 22 | land, Mið | 2 | | 21 | land, Stórt | 1 | The ladder is now an explicit value list — `IN (21, 31, 41, 51) → 3`, `IN (11, 22, 32, 42, 52) → 2`, else 1 — no modular arithmetic. New z14 distribution: **is | 1 | 44 530, is | 2 | 2, is | 3 | 1**. The old 44 530 − 44 489 tier-1 delta was 41 multipoint ST_Dump splits, not a coding error; the coding *was* wrong in a different way: the points table's only Stórt feature is **Ísland itself** (code 21, `eyja`), and the two Mið are Sundhnúkur and Kolbeinsey — the register's points carry no towns at all. That is what made the old tier-3 set fifteen farms/rocks plus the country name. ## 2. z4 country view now labels actual towns — verified Reykjavík and Akureyri are not örnefni *points* — they are code-10 (byggðarkjarni) **polygons** in `ornefni_flakar` and live in the mannvirki settlements layer. Since the places partition excludes Þéttbýli, the settlements layer is now the town labeler and starts at **z4** (`stop_z: 4`, `place_labels` minzoom 4) instead of z5. Its z6 filter (`population >= 4000`) keeps Reykjavík (135 714), Kópavogur, Hafnarfjörður, Akureyri, Selfoss, Akranes and Vestmannaeyjar at the country view. Verified: decoded z4 tile (7/4) carries 23 settlement features including Reykjavík and Akureyri, and a real-browser CDP render at z4/z5 shows town labels (Akureyri, Selfoss, Akranes, Vestmannaeyjar, Ásbrú…) plus "Ísland" from the places layer. ## 3. Þéttbýli exclusion — implemented Code 10 (the 14 byggðarkjarni points — exactly the "fifteen farms and rocks" minus Ísland) is excluded from the Iceland places partition (`AND ornefnaflokkurkenni != 10`), so `place_names` and `place_labels` no longer both carry the same town and MapLibre's cross-layer collision has nothing to arbitrate. The old tier-3 names survive only at importance 1 where the register genuinely holds small features of the same name (e.g. the many "Grásteinn" rocks, code 23). ## 4. PR body heading — fixed The stale "Place names for Poland, Sweden and Finland" heading is now "Place names for Finland and Iceland" (title, diff and body agree). ## Verification summary - `-layer places,settlements conf/ismap.yaml` reimport: clean, atomic swaps; 44 492 source rows (44 506 − 14 excluded) + 41 splits. - Per-zoom IS places: z4–6 → 1 (Ísland), z7–11 → 3, z12+ → 44 533. IS settlements: z4–6 → 24 towns, z7–8 → 49, z9–10 → 86, z11–12 → 126. - Zero NULLs in name/importance/country and nafnfitju/population. - Decoded z4 tile: `places` = Ísland importance 3; `settlements` = 23 features with Reykjavík/Akureyri. z14 tile decodes names with importance intact. - `gl-style-validate` clean; real-browser CDP render at z4/z5 confirms town labels. - Finland untouched (308/26 531/242 894 unchanged).
art merged commit 263d7b265b into main 2026-08-05 05:53:02 +00:00
art deleted branch night/issue-29-place-names 2026-08-05 05:53:02 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
art/ismap!53
No description provided.