importer: overlay carve as a declared staging kind — base table, overlay table, class map, priority (Poland #106 needs it) #118

Open
opened 2026-08-13 19:53:14 +00:00 by art · 0 comments
Owner

From the #116 review (finding 9, second item). docs/workstream-a.md currently nominates the #14 sankmark carve SQL as "the pattern to copy" for Poland's #106 (BDOT10k KU* airport areas over PTKM transport surfaces — the same overlay-over-coverage shape).

The concern: that pattern is per-cell union + class priority + clip + carve + class CASE + part_key, hand-written in YAML SQL. Copying it to plmap.yaml re-implements all of it — including the coverage-validity subtleties that #116's review just forced into the Sweden version (ST_CoverageClean seams, bound ST_MakeValid, piece-derived part_key) — and any future fix must then be made in N places.

The importer already owns coverage semantics (generalization_strategy: cover, partition_by, absorb_boundary). Proposal: an overlay carve as a declared staging kind — base table, overlay table, class map, priority — implemented once in the importer, so #106 (and any future overlay fold) is config, not copy-pasted SQL. Design questions to settle when implementing: class priority, per-cell vs nationwide processing, whether ST_CoverageClean is applied by the importer, and how part_key/absorption interact with the carved output.

From the #116 review (finding 9, second item). `docs/workstream-a.md` currently nominates the #14 sankmark carve SQL as "the pattern to copy" for Poland's #106 (BDOT10k KU* airport areas over PTKM transport surfaces — the same overlay-over-coverage shape). The concern: that pattern is per-cell union + class priority + clip + carve + class CASE + part_key, hand-written in YAML SQL. Copying it to `plmap.yaml` re-implements all of it — including the coverage-validity subtleties that #116's review just forced into the Sweden version (ST_CoverageClean seams, bound ST_MakeValid, piece-derived part_key) — and any future fix must then be made in N places. The importer already owns coverage semantics (`generalization_strategy: cover`, `partition_by`, `absorb_boundary`). Proposal: an overlay carve as a declared staging kind — base table, overlay table, class map, priority — implemented once in the importer, so #106 (and any future overlay fold) is config, not copy-pasted SQL. Design questions to settle when implementing: class priority, per-cell vs nationwide processing, whether ST_CoverageClean is applied by the importer, and how part_key/absorption interact with the carved output.
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#118
No description provided.