feat: provision regional Kempen buildings
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-14 19:01:49 +02:00
parent 8586921ae6
commit 4b0c016df9
14 changed files with 1323 additions and 29 deletions
+33
View File
@@ -1286,6 +1286,39 @@ This command provisions boundaries only. Regional buildings, population,
land use, roads, water and parcels must be added by bounded source operators;
missing themes remain unavailable and are never filled with synthetic values.
### Regional Kempen GRB buildings
After the scope foundation exists, fetch and persist the complete current GRB
`GBG` building layer for the approved region:
```bash
docker exec -it geointel python3 /app/scripts/provision_regional_grb_buildings.py \
--scope kempen-transport-region
```
Use `--fetch-only` to build and inspect artifacts without touching the
database. The operator uses one bounded request/pagination sequence per
official municipality and writes resumable partitions below
`/app/storage/operator-data/regional-themes/kempen-transport-region/buildings/<date>`.
Every source feature is assigned to exactly one partition using its largest
intersection with the member boundaries; exact ties use the lowest NIS code.
This avoids duplicate building counts at shared borders while retaining the
feature clipped only to the complete regional scope.
Once all 28 partitions are complete, the operator streams one combined
GeoJSON artifact and invokes `DatasetService`/`VectorFeatureService` inside
the container. Features are indexed in batches as one normal regional
reference dataset, so the existing viewport and rectangle-selection paths do
not need a parallel API. The service import is intentionally local-only and
refuses a remote backend URL. Repeat runs reuse checksummed artifacts and the
persisted dataset; use a new `--observed-date` for a newer immutable snapshot.
Safety limits can be adjusted explicitly with
`--max-features-per-member`, `--max-total-features`, `--page-limit` and
`--batch-size`. Exceeding a limit fails the run instead of producing a
truncated dataset. The command never runs during startup or an interactive
map query.
## Tower deployment
Push the local branch to Gitea, then rebuild the Unraid/Tower Docker runtime: