Greece pilot: Natural Earth carve + CORINE landcover (prove the add-a-country mechanism) #172
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#172
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?
Greece (issue #44), the pilot: prove the "add a country" mechanism with the smallest
possible footprint — the Natural Earth carve plus landcover. Gated on the catalogue issue
(the Cadastre boundary's licence, R2, must be confirmed first).
Why this shape
Issue #44's point 2: before any of the heavy layers, prove a new country can be added at
all. Two things make Greece the cheapest country yet:
enum.landcoverIS the CORINE nomenclature and CLC 2018covers Greece, so
coveris the conf/fi/03-cover.yaml pattern — aCASEover the CLCcode, no semantic mapping to get wrong, no new vocabulary, no style change (R116).
country_maskpartition from its ownofficial boundary source; the Makefile
import-grtarget chainsimport-world, whichsubtracts the union of masks from Natural Earth land (R107). Greece needs no tile source
of its own — everything is served through the shared
mapsource.Deliverables
conf/gr/per R17:base.yaml,downloads.yaml,staging.yaml,acceptance.yaml,01-country_mask.yaml,02-cover.yaml(build order).country: gr(R16).import-grtarget chainingimport-world(R107), plus afetch-grdownloadpath through the importer's declared-downloads route (R10).
docs/country-gr.mdgains the pilot section (R129–R136) as the catalogue lands.Notes
precedent. At 110 m Natural Earth resolution most Aegean islands are absent from the
background anyway; the carve is chiefly the mainland. Verify the world background no
longer covers mainland Greece after the mask lands.
sea/523class), matching Finland's partitionshape and the R34 reference semantics.
no NULL cover_class, a decoded tile.
Result is in #176 — #176; the review note is the PR description.
The mask/carve is done and verified (0 km² of world background overlaps the Greek mask; a mainland point is out of the background). The CORINE cover is written but BLOCKED on a CLMS registration + Bearer token — the old EIONET zip URLs are dead and the importer's plain-GET downloads: mechanism cannot attach the token, so no download was faked. The exact credential is documented in conf/gr/downloads.yaml; until data/gr/clc_gr.gpkg is placed, the cover layer and its R34/R120 tests skip. The PR does not auto-close #172 — the cover half remains open.
The cover download is unblocked: the CLMS provider (importer/clms.go, OAuth2 JWT-bearer) is in PR #177 — #177 (stacked on #176). After it merges, put the CLMS service key in conf/secrets.yaml under a clms: block and run to fetch data/gr/clc_gr.gpkg; the cover acceptance tests then un-skip.
Resolved by a handful or PRs - !177, !176 and a few more on top of that that resolved various NE-related problems.