airports: the layer is runways/taxiways only — Finland filters to 32411/32412, Poland's blob is gone #158

Closed
art wants to merge 1 commit from airports-runways-only into main
Owner

The airports MVT/style layer must contain runways and taxiways only — never the whole airport area. It was not: Finland drew all 835 MTK lentokenttaalue areas (Helsinki-Vantaa = one 7.5 km² dark-grey fill over its own runways), and Poland drew the whole BDOT10k KUKO_A land-use complex (Warsaw Chopin = one dark-grey blob, no runways at all). Keflavik (runways+taxiways) and Arlanda (runways) were already right — this brings the other two in line.

Finland (conf/fimap.yaml)

  • airports now imports kohdeluokka 32411/32412 only — the paved/unpaved runway areas, 835 → 110 rows. The 32415–32418 grounds (aprons, terminal lots) stay in the landcover under the airport, which is where they belong; the trade is Sweden's.
  • The name join radius grows 500 → 1000 units: the nearest runway to the terminal label sits farther out than the grounds did (measured: runways lie 0–824 m from the big airports' label points, p90).
  • airport_points now derives from the source staging rather than the airports partition, so the 5 airfields MTK maps as grounds-only — Mäntsälä, Lapinlahti, Savikko, Wredeby, Torbacka (grass strips classified 32416, no runway polygon) — keep their labels. 88 points before and after; Poland's airport_points deviates the same way and for the same reason.
  • R6 is now a hard pin: the partition must equal exactly the 110 runway areas, so re-adding the grounds fails instead of re-blobbing.

Poland (conf/plmap.yaml)

  • The airports layer is removed — BDOT10k has no separable runway geometry (runways live inside the rodzaj-less PTKM transport-surface cover; there is no OT_SKJ runway class in the fetched set; KUKO_A is a whole-area land-use blob, exactly what the contract now excludes). pl builds no airports partition, same shape as Iceland and ferries.
  • airport_points reads pl_kuko_a directly: 140 points, unchanged, Chopin's label still renders.
  • The old map_airports_*_pl tables were dropped by hand (importer never drops tables for a removed layer — issue #12).

Contract (conf/common.yaml): the airports contract now states the rule — runways/taxiways only, never the whole airport area — and the airport_points contract notes the fi/pl source-derived deviation and why.

Issue filed: #157 — find a source of ARINC 424 data for good airport geometries (the runway source Poland and the 5 Finnish grass strips need), unassigned.

Verified: decoded tiles — EFHK z13: one thin runway polygon + label, no fill; Chopin z13: no airports fill, label present; Arlanda / Keflavik unchanged. make acceptance: is 33, se 36 (+1 slow not-run), pl 34, fi 41, world 18 — all passed.

The `airports` MVT/style layer must contain runways and taxiways only — never the whole airport area. It was not: Finland drew all 835 MTK `lentokenttaalue` areas (Helsinki-Vantaa = one 7.5 km² dark-grey fill over its own runways), and Poland drew the whole BDOT10k KUKO_A land-use complex (Warsaw Chopin = one dark-grey blob, no runways at all). Keflavik (runways+taxiways) and Arlanda (runways) were already right — this brings the other two in line. **Finland** (`conf/fimap.yaml`) - `airports` now imports kohdeluokka **32411/32412 only** — the paved/unpaved runway areas, 835 → 110 rows. The 32415–32418 grounds (aprons, terminal lots) stay in the landcover under the airport, which is where they belong; the trade is Sweden's. - The name join radius grows 500 → 1000 units: the nearest *runway* to the terminal label sits farther out than the grounds did (measured: runways lie 0–824 m from the big airports' label points, p90). - `airport_points` now derives from the source staging rather than the airports partition, so the 5 airfields MTK maps as grounds-only — Mäntsälä, Lapinlahti, Savikko, Wredeby, Torbacka (grass strips classified 32416, no runway polygon) — keep their labels. **88 points before and after**; Poland's `airport_points` deviates the same way and for the same reason. - R6 is now a hard pin: the partition must equal exactly the 110 runway areas, so re-adding the grounds fails instead of re-blobbing. **Poland** (`conf/plmap.yaml`) - The `airports` layer is **removed** — BDOT10k has no separable runway geometry (runways live inside the rodzaj-less PTKM transport-surface cover; there is no OT_SKJ runway class in the fetched set; KUKO_A is a whole-area land-use blob, exactly what the contract now excludes). pl builds no airports partition, same shape as Iceland and ferries. - `airport_points` reads `pl_kuko_a` directly: **140 points, unchanged**, Chopin's label still renders. - The old `map_airports_*_pl` tables were dropped by hand (importer never drops tables for a removed layer — issue #12). **Contract** (`conf/common.yaml`): the airports contract now states the rule — runways/taxiways only, never the whole airport area — and the airport_points contract notes the fi/pl source-derived deviation and why. **Issue filed**: #157 — find a source of ARINC 424 data for good airport geometries (the runway source Poland and the 5 Finnish grass strips need), unassigned. **Verified**: decoded tiles — EFHK z13: one thin runway polygon + label, no fill; Chopin z13: no airports fill, label present; Arlanda / Keflavik unchanged. `make acceptance`: is 33, se 36 (+1 slow not-run), pl 34, fi 41, world 18 — all passed.
The airports contract now states the rule the map was already supposed to
follow: the layer contains runways and taxiways, never the whole airport
area. Two countries were violating it:

- Finland imported all 835 MTK lentokenttaalue areas, so every airport
  rendered as a dark-grey blob over its own runways (Helsinki-Vantaa was
  one 7.5 km² fill). The layer now takes kohdeluokka 32411/32412 — the
  runways — only, 110 areas. The grounds (32415–32418) stay in the
  landcover under the airport, which is where they belong. The name join
  radius grows 500→1000 units because the nearest runway to the terminal
  label sits farther out than the grounds did (measured p90: 824 m).
  airport_points now reads the source staging instead of the airports
  partition, so the 5 airfields MTK maps as grounds-only (Mäntsälä,
  Lapinlahti, Savikko, Wredeby, Torbacka — grass strips classified 32416,
  no runway polygon) keep their labels: 88 points before and after.

- Poland's airports layer was the whole BDOT10k KUKO_A land-use complex
  (issue #106) — a dark-grey smear over the whole airport area. BDOT10k
  has no separable runway geometry (runways live inside rodzaj-less PTKM
  transport surfaces; no OT_SKJ class exists), so the layer is removed
  entirely and pl builds no airports partition — the same shape as Iceland
  and ferries — pending issue #157 (ARINC 424 source). The old
  map_airports_*_pl tables were dropped by hand (issue #12's gap).
  airport_points reads pl_kuko_a directly: 140 points, unchanged.

Verified against the live DB and decoded tiles: EFHK z13 shows one thin
runway polygon and the label, no 7.5 km² fill; Warsaw Chopin z13 shows no
airports fill and the label; Arlanda and Keflavik unchanged. R6 for
Finland now pins the partition to exactly the 110 runway areas, so a
future edit that re-adds the grounds fails instead of re-blobbing.
All acceptance tests pass (is 33, se 36+1 slow, pl 34, fi 41, world 18).
Author
Owner

Replaced by !159.

Replaced by !159.
art closed this pull request 2026-08-18 19:06:33 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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!158
No description provided.