Constrain selections to active work areas
This commit is contained in:
+10
-6
@@ -776,7 +776,11 @@ Rules:
|
||||
|
||||
- Only vector/GeoJSON datasets are supported.
|
||||
- Coordinates are EPSG:4326 longitude/latitude.
|
||||
- `area_id` is optional and must belong to the route project. When present, the bbox remains the bounded preview extent but PostGIS filtering and configured aggregations use the persisted Area geometry exactly. This prevents a municipal or regional full-work-area query from counting objects in the surrounding bbox corners.
|
||||
- `area_id` is optional and must belong to the route project. When present,
|
||||
PostGIS filtering and configured aggregations use `bbox ∩ Area`. A bbox that
|
||||
encloses the complete Area therefore produces the exact full-work-area
|
||||
result, while a drawn rectangle that crosses a municipality boundary is
|
||||
clipped to that official boundary.
|
||||
- Results are generated from persisted PostGIS `vector_features`, not from client-side map data.
|
||||
- `feature_count` is the number of GeoJSON features returned in the bounded preview. `total_feature_count` is the exact number of persisted rows intersecting the requested bbox or persisted Area geometry.
|
||||
- `summary` keeps one backwards-compatible primary metric and exposes all relevant measurements in `metrics`. Known themes use metric PostGIS calculations: building/forest/water/parcel surfaces in hectares, road and watercourse lengths in kilometres, population in inhabitants and intersecting feature counts as supporting evidence.
|
||||
@@ -1735,7 +1739,7 @@ Map vector selection export request:
|
||||
{
|
||||
"export_kind": "vector_selection",
|
||||
"dataset_id": "uuid",
|
||||
"area_id": "optional-uuid-for-an-exact-full-work-area-export",
|
||||
"area_id": "optional-uuid-used-as-an-official-area-constraint",
|
||||
"bbox": {
|
||||
"min_x": 5.0,
|
||||
"min_y": 51.0,
|
||||
@@ -1789,10 +1793,10 @@ existing Detection/Segmentation GeoJSON conversion services. Vector selection
|
||||
exports query persisted PostGIS `vector_features` with the supplied EPSG:4326
|
||||
bbox, write the selected FeatureCollection as a `vector_selection_geojson`
|
||||
artifact, and persist bbox/feature-count metadata in the export record. When
|
||||
`area_id` is present, the persisted Area geometry is the exact export scope;
|
||||
the frontend only sends this for the explicit `Volledig werkgebied` action.
|
||||
Drawn or manually entered rectangles omit `area_id` and remain exact bbox
|
||||
queries. Raster
|
||||
`area_id` is present, the export scope is `bbox ∩ Area`. The frontend sends the
|
||||
active Area for drawn, manual and full-work-area selections so no result can
|
||||
leak outside the chosen official boundary. A bbox enclosing the complete Area
|
||||
still resolves to the exact Area geometry. Raster
|
||||
datasets are rejected for dataset and selection GeoJSON export.
|
||||
|
||||
### POST `/api/v1/exports/map-result`
|
||||
|
||||
@@ -9904,10 +9904,12 @@ V1 completion status:
|
||||
Implemented:
|
||||
- Corrected the map-first selection scope after live API evidence showed that a
|
||||
drawn bbox plus the active `area_id` returned the complete municipality
|
||||
vector population. Drawn and manual bboxes now omit `area_id`; the explicit
|
||||
full-work-area action keeps the exact persisted Area geometry.
|
||||
- Applied the same scope decision to current theme queries, temporal
|
||||
comparisons, derived selection datasets and vector exports.
|
||||
vector population. The shared selection contract now resolves `bbox ∩ Area`;
|
||||
a bbox enclosing the complete Area keeps the exact persisted geometry and
|
||||
only that case may use the full-Area fast path.
|
||||
- Applied the same constrained geometry to current theme queries, temporal
|
||||
comparisons, derived selection datasets and vector exports, including
|
||||
boundary-crossing rectangle regressions.
|
||||
- Added Area-aware persistent vector selection exports and
|
||||
`POST /api/v1/exports/map-result`. Current vector, governed raster and
|
||||
temporal exports are recomputed server-side from persisted data before an
|
||||
@@ -9923,14 +9925,19 @@ Implemented:
|
||||
workbench container on navigation, bounded the desktop map layout, removed
|
||||
nested desktop scrolling from Detection Lab and added plain-language QA/F1
|
||||
interpretation.
|
||||
- Limited Detection Lab's luchtbeeld selector to ready imagery rasters;
|
||||
terrain, flood-hazard and thematic policy rasters remain available only in
|
||||
their correct map workflows.
|
||||
- Translated the visible Downloads workflow and moved technical identifiers to
|
||||
the existing history disclosure.
|
||||
|
||||
Validation:
|
||||
- Focused operational-correctness, map-selection, export and V1 flow tests
|
||||
passed after the corrected selection semantics were applied.
|
||||
- The complete readiness gate passed 895 backend tests, backend compilation,
|
||||
- The final complete readiness gate passed 899 backend tests, backend compilation,
|
||||
documentation smoke, API contract audit, the single Alembic head
|
||||
`202607160001`, frontend TypeScript typecheck and the production build.
|
||||
- Live all-in-one deployment, exact bbox/full-Area API comparison and browser
|
||||
acceptance follow from this validated repository state.
|
||||
- Commit `a29c787` passed the first live deployment, exact bbox/full-Area API
|
||||
comparison and persistent Downloads browser handoff. The final constrained
|
||||
boundary and luchtbeeld-filter follow-up is validated below before its
|
||||
replacement deployment.
|
||||
|
||||
+5
-3
@@ -11,9 +11,9 @@ geen open productroadmap meer.
|
||||
vereist.
|
||||
- [x] Kies een begrijpbaar datathema, teken een rechthoek of gebruik het
|
||||
volledige werkgebied en analyseer alle 15 beschikbare thema's uit PostGIS.
|
||||
- [x] Houd getekende en handmatig ingevoerde rechthoeken als exacte bbox-scope
|
||||
voor vector-, raster- en tijdreeksmetingen; gebruik de persistente
|
||||
Area-geometrie uitsluitend voor de expliciete actie `Volledig werkgebied`.
|
||||
- [x] Gebruik voor getekende en handmatig ingevoerde rechthoeken overal
|
||||
`bbox ∩ Area`; een bbox rond het volledige werkgebied resolveert naar de
|
||||
exacte persistente Area-geometrie en activeert pas dan de full-Area fast path.
|
||||
- [x] Toon betekenisvolle eenheden en metrieklabels voor oppervlakte, lengte,
|
||||
inwoners, hoogte, scenario's en stationsmetingen; objectaantallen zijn
|
||||
ondersteunend.
|
||||
@@ -31,6 +31,8 @@ geen open productroadmap meer.
|
||||
operator- en benchmarkprojecten de standaard kaartcontext niet kan verdringen.
|
||||
- [x] Gebruik de operationele lokale YOLO/PyTorch-keten alleen met persisted
|
||||
detecties, GRB-QA en expliciete controlewaarschuwingen.
|
||||
- [x] Toon in de beeldanalyse alleen operationele luchtbeeldrasters en geen
|
||||
hoogte-, overstromings- of thematische beleidsrasters.
|
||||
- [x] Draai de volledige applicatie in de beheersbare Unraid-container op poort
|
||||
1202 met PostGIS, backend, frontend, Ollama-koppeling en modelconfiguratie.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user