Poland: BDOT10k KU* — airport areas (KUKO02 lotnisko lub lądowisko) + airport_points #106

Closed
opened 2026-08-12 21:41:00 +00:00 by art · 4 comments
Owner

Scope: Poland's airports (+ derived airport_points) from the BDOT10k KU* group.

The source (2021 schema + the fetched OIKM_P, both verified):

  • OT_KUKO_A/P rodzaj lotnisko lub lądowisko (KUKO02) — the airport/landing-site areas. Not among the 17 fetched classes; it is an overlay over the PTKM transport-surface coverage (which has no RODZAJ column — measured — so cover cannot split airports out of PTKM today; see the cover comment in conf/plmap.yaml). Folding it in needs the same nationwide ST_Difference design as Sweden's sankmark (issue #14).
  • Already in hand: OIKM_P carries 436 lądowisko dla helikopterów points nationally (measured across all 380 counties) and 0 pas startowy rows — so helicopter pads are available with no fetch change; runways/airport areas need KU*.

First steps:

  1. R6 check: fetch two sample county packages, count OT_KUKO_A rodzaj=lotnisko rows, record GB/rows.
  2. Design the overlay (same problem as #14) or take the airport areas as their own layer without subtracting from PTKM.
  3. airport_points per R140, scheduled-airport filter at coarse zoom.

From #84 — catalogue line in docs/country-poland.md.

Scope: Poland's `airports` (+ derived `airport_points`) from the BDOT10k KU* group. The source (2021 schema + the fetched OIKM_P, both verified): - **OT_KUKO_A/P** rodzaj `lotnisko lub lądowisko` (KUKO02) — the airport/landing-site *areas*. Not among the 17 fetched classes; it is an overlay over the PTKM transport-surface coverage (which has no RODZAJ column — measured — so `cover` cannot split airports out of PTKM today; see the `cover` comment in conf/plmap.yaml). Folding it in needs the same nationwide ST_Difference design as Sweden's sankmark (issue #14). - Already in hand: OIKM_P carries **436** `lądowisko dla helikopterów` points nationally (measured across all 380 counties) and 0 `pas startowy` rows — so helicopter pads are available with no fetch change; runways/airport areas need KU*. First steps: 1. R6 check: fetch two sample county packages, count `OT_KUKO_A` rodzaj=lotnisko rows, record GB/rows. 2. Design the overlay (same problem as #14) or take the airport areas as their own layer without subtracting from PTKM. 3. `airport_points` per R140, scheduled-airport filter at coarse zoom. From #84 — catalogue line in docs/country-poland.md.
Author
Owner

The "pattern to copy" line in docs/workstream-a.md now points at the generalisation: #118 — overlay carve as a declared staging kind, so #106 is config, not copy-pasted SQL from #14.

The "pattern to copy" line in docs/workstream-a.md now points at the generalisation: #118 — overlay carve as a declared staging kind, so #106 is config, not copy-pasted SQL from #14.
Author
Owner

Worked end to end up to the national data (branch issue-106-pl-airports, commit eb55ef0, pushed).

R6 check done — three county packages inspected end to end (1465 Warszawa 88.5 MB, 1206 krakowski 71.3 MB, 1261 m. Kraków 35.2 MB): OT_KUKO_A/P are in every delivery; rodzaj 'lotnisko lub lądowisko' carries 2/2/5 rows. Measured the ladder: TYPLOTNISKA 'port lotniczy' vs 'inne lotnisko lub lądowisko' (the lotnisko register tier → class 1/2); NAZWA populated for registered airports, NULL for the unnamed lądowiska (all 5 of m. Kraków's); IDIATA unusable (registration numbers like '23/2012', wrong codes like '4E' for Chopin) while IDICAO is real where it exists (EPKK/EPWA/EPBC/EPKP).

Implemented + verified on the sample data: staging pl_kuko_a/p; airports (z10–z13, standalone layer over the PTKM fill — the carve is #118's open staging kind) + airport_points (R140, z9 class-1 filter); Makefile class/marker widening (pt-sw-sk-oikm-oipr-skpp-kuk); sources: [pl] in plmap + mapsrv; style layers airports_pl/airport_labels_pl; docs. Acceptance: pl 34 tests, 33 passed / 0 failed / 1 skipped (R105 needs pl_kuko_p, which only loads on a full import); R121 tiles --check PASS; style validates; CDP render shows the Chopin fill + label at z11 and class-1-only labels at z9. Full tally + measurements in run/issues/issue-106.md.

Blocked on the national data: the widened make fetch-bdot10k re-pulls all 380 county zips (~25 GB, multi-hour) before make import-pl can build the national layer — the run rules say never re-download and to flag multi-hour steps rather than start them silently. What I need: run make fetch-bdot10k (marker already widened on this branch) and then the full pl import, or approve this worker to do the fetch. The config/tests/docs are complete and green on the three R6 counties either way.

Worked end to end up to the national data (branch `issue-106-pl-airports`, commit eb55ef0, pushed). **R6 check done** — three county packages inspected end to end (1465 Warszawa 88.5 MB, 1206 krakowski 71.3 MB, 1261 m. Kraków 35.2 MB): `OT_KUKO_A/P` are in every delivery; `rodzaj 'lotnisko lub lądowisko'` carries 2/2/5 rows. Measured the ladder: `TYPLOTNISKA` 'port lotniczy' vs 'inne lotnisko lub lądowisko' (the lotnisko register tier → class 1/2); `NAZWA` populated for registered airports, NULL for the unnamed lądowiska (all 5 of m. Kraków's); `IDIATA` unusable (registration numbers like '23/2012', wrong codes like '4E' for Chopin) while `IDICAO` is real where it exists (EPKK/EPWA/EPBC/EPKP). **Implemented + verified on the sample data**: staging pl_kuko_a/p; `airports` (z10–z13, standalone layer over the PTKM fill — the carve is #118's open staging kind) + `airport_points` (R140, z9 class-1 filter); Makefile class/marker widening (`pt-sw-sk-oikm-oipr-skpp-kuk`); `sources: [pl]` in plmap + mapsrv; style layers airports_pl/airport_labels_pl; docs. Acceptance: pl 34 tests, 33 passed / 0 failed / 1 skipped (R105 needs pl_kuko_p, which only loads on a full import); R121 tiles --check PASS; style validates; CDP render shows the Chopin fill + label at z11 and class-1-only labels at z9. Full tally + measurements in run/issues/issue-106.md. **Blocked on the national data**: the widened `make fetch-bdot10k` re-pulls all 380 county zips (~25 GB, multi-hour) before `make import-pl` can build the national layer — the run rules say never re-download and to flag multi-hour steps rather than start them silently. What I need: run `make fetch-bdot10k` (marker already widened on this branch) and then the full pl import, or approve this worker to do the fetch. The config/tests/docs are complete and green on the three R6 counties either way.
Author
Owner

Correction after the first fetch pass: the widened BDOT10K_CLASSES listed the KU* classes as OT_KUKO_A/OT_KUKO_P, but the fetch recipe's pattern loop already prepends OT_ — so the pattern was OT_OT_KUKO_A, matched nothing, and the first ~25 GB pass touched all 380 markers with zero KU* extraction. Fixed on the branch (37c9ad5c: KUKO_A/KUKO_P) and pushed to origin/issue-106-pl-airports; the 380 bogus markers were removed and the fetch re-ran. Note for whoever finishes: the LOCAL branch ref still points at eb55ef0 — fetch origin and reset before continuing (or just branch from origin/issue-106-pl-airports).

Correction after the first fetch pass: the widened BDOT10K_CLASSES listed the KU* classes as OT_KUKO_A/OT_KUKO_P, but the fetch recipe's pattern loop already prepends OT_ — so the pattern was *OT_OT_KUKO_A*, matched nothing, and the first ~25 GB pass touched all 380 markers with zero KU* extraction. Fixed on the branch (37c9ad5c: KUKO_A/KUKO_P) and pushed to origin/issue-106-pl-airports; the 380 bogus markers were removed and the fetch re-ran. Note for whoever finishes: the LOCAL branch ref still points at eb55ef0 — fetch origin and reset before continuing (or just branch from origin/issue-106-pl-airports).
Author
Owner

resolved through !153

resolved through !153
art closed this issue 2026-08-17 22:11:35 +00:00
Sign in to join this conversation.
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#106
No description provided.