Aggregate regional bathymetry partitions
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 17:08:35 +02:00
parent 24247746c1
commit 4fd6c06f5c
17 changed files with 661 additions and 29 deletions
+20
View File
@@ -2111,6 +2111,26 @@ accounting sets `partitioned_source_audit=true` and
`regional_partitions_complete=true`; partial operator runs remain hidden at
regional scope.
### POST `/api/v1/projects/{project_id}/datasets/bathymetry/profiles/partitions/select`
Runs one bounded spatial selection across the latest complete `flanders`
VHA manifest. The request reuses `VectorSelectionRequest`: EPSG:4326 bbox,
optional persisted Area and a result limit of at most 1,000 features.
The backend first rejects incomplete or inconsistent manifests, selects only
municipality Dataset partitions whose recorded bounds overlap the request and
then queries their persisted `vector_features` with one PostGIS intersection.
When the Area is a municipality, only that exact Area partition is eligible.
A regional Area can combine all intersecting partitions without treating one
municipality Dataset as representative regional data.
The canonical response extends the ordinary vector-selection result with
`partition_count`, `available_partition_count`, `partition_scope_key`,
`source_name` and the contributing `dataset_ids`. GeoJSON is capped by the
request limit, while `total_feature_count` and all configured depth/width
metrics are calculated across the complete spatial result. Empty municipalities
return an empty, honest result. No provider request occurs during analysis.
Future provider output continues to use DatasetService and, for vectors,
VectorFeatureService. Arbitrary service URLs, browser-side fetches, insecure
TLS bypasses and startup downloads remain forbidden.
+14 -7
View File
@@ -50,14 +50,19 @@ the provider and the application. A regional logical layer may group complete
partitions, but each Dataset retains its Area id, query URLs, checksums, exact
count and measurement-date range.
Before regional activation:
Regional activation now uses the complete checksum-bound municipality
manifest. The Map flow chooses the exact Area partition for a municipality and
uses a bounded multi-Dataset PostGIS query for regional rectangles or the
complete Flanders Area. GeoJSON remains limited to 1,000 rendered features;
counts and configured metrics cover the complete spatial result. Individual
profile dates remain authoritative and no Dataset-level survey date is
fabricated.
Remaining operational follow-up:
- add a governed Flanders boundary manifest and partition coordinator;
- prove idempotent resume and no duplicate VHA `OBJECTID` within a partition;
- benchmark PostGIS point selection and viewport delivery;
- add freshness/version probing for the VHA MapServer;
- keep individual profile dates instead of fabricating one Dataset
`observed_at`.
- keep selection-performance evidence as the profile inventory grows;
- retain explicit no-profile municipalities in every refreshed manifest.
## Tier 3: Belgium
@@ -123,7 +128,9 @@ bed evolution.
1. Operate and validate the Mol VHA profile Dataset and map flow. **Done.**
2. Add VHA municipal partition orchestration for Flanders. **Done and live:
285/285 municipality partitions accounted for, 269 with data, 16 explicit
no-profile results, 128,913 profile points and zero failures.**
no-profile results, 128,913 profile points and zero failures. Regional
selection and export now aggregate the latest complete manifest in
PostGIS.**
3. Implement a bounded MDK WCS probe, then acquisition behind live evidence.
**Probe implemented. Acquisition blocked because the live endpoint fails
strict hostname validation and does not expose usable capabilities.**
+22
View File
@@ -10119,3 +10119,25 @@ Final live acceptance:
searchable Area/Dataset pages and mounts collapsed Area/history catalogs
only when opened. This preserves the complete regional inventory without
overwhelming the browser DOM.
## Sprint 236 follow-up - manifest-aware regional VHA analysis (2026-07-17)
Implemented:
- Corrected the Map explorer so a complete Flemish VHA manifest is never
represented or queried as one arbitrary municipality Dataset.
- Added one canonical bounded partition-selection endpoint. It selects the
latest internally complete manifest generation, prefilters Dataset bounds
and runs a single PostGIS intersection across the contributing persisted
`vector_features`.
- Kept exact municipality selection on its own Area partition and added
manifest-aware server-side GeoJSON export with complete contributing
Dataset provenance.
- Made the regional Waterbodem card report the sum of all 269 data-bearing
partitions: 128,913 profiles and 79,398 source documents. The rendered
GeoJSON remains capped at 1,000 objects while counts and configured metrics
cover the complete spatial result.
Validation:
- The complete readiness gate passed: 927 backend tests, backend compilation,
116 documented API routes, Alembic head `202607160001`, frontend TypeScript
typecheck and the production Vite build.