Shared airports + airport_points layer — fold is/se/pl/fi into one MVT source (was: Iceland-only style layers) #149
Labels
No labels
blocked
claude-wip
map-report
map:is
map:se
needs-review
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
art/ismap#149
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope: make
airports(+ derivedairport_points) a shared layer in the unification sense (docs/schema.md—include:contracts,country:partition,wireSharedLayers, one MVT function per layer on the sharedmapsource), so all four countries render from one tile route. Today nothing the last three imports built is visible: main'shtml/style.jsondeclares sourcesmap+isonly, and theairports/airport_labelsstyle layers readis/airports+is/airport_points.What exists (measured live, 2026-08-17):
ismap_airportsz10–13 /ismap_airport_pointsz8–13 (Iceland, the original)se_airportsz10–13 /se_airport_pointsz8–13 (PR #146)fi_airportsz10–13 /fi_airport_pointsz8–13 (PR #147)plmap_airportsz10–13 /plmap_airport_pointsz8–13 (issue #106, in flight)Each is served under its own per-country tile source (
se,fi,pladded back toconf/mapsrv.yamlby those PRs) and styled with per-countryairports_*/airport_labels_*layers. That is the additive-migration shape — this issue collapses it back: one sharedairports+airport_pointsMVT function (country-partitioned), style layers reading the shared source, per-country sources and style layers deleted,iskeeping only what is still unshared.Design, to settle against live data:
airports/airport_pointsin the shared contracts (conf/common.yaml): one attribute set all four countries fill. The class ladders already collapse to the same 1/2 (athÁætlunarvöllur;iatapresence;TYPLOTNISKAport lotniczy; register LENTOASEMA/LENTOKENTTÄ tier) and all four havename(register join / label-inside-area). Anything not common must be dropped or made nullable.stop_z/minzoom is one decision.airports+airport_labelsread the shared source with the same filters (class-1-only at coarse zoom, label rules); delete the per-country variants.airport_classNOT NULL; name is the label inside its own area).Verification: import all four configs, decode a z10–13 tile per country (Keflavík, Arlanda, Chopin, Helsinki-Vantaa), CDP render, acceptance tally. After this the R13 "airports exist for Iceland alone" row is obsolete.
Dependencies: #106 lands first (its PR is open once the full import finishes); this folds all four in one pass. Part of the is-only-style cleanup — siblings: shared buildings (#150), contours (#151), peaks (#152).
Worker interruption note: the first #149 worker merged the three per-country branches (issue-149-shared-airports = origin/main + #146/#147/#153 commits, pushed as
0b7dff4) and finished the design (contract shape, partition/test conventions) but was killed mid-work before any implementation. Resumed by a fresh worker from that pushed branch state. Orphan decision (from the interruption): the old per-country airports tables/functions stay as inert #12 orphans — project practice, nothing is DROPped.Result is in #154 — #154; the review note is the PR description.