fix(map): make area analysis scale-aware
This commit is contained in:
@@ -881,6 +881,24 @@ Rules:
|
||||
- `limit` is bounded to `1..1000`. Municipality-scale clients must page spatially by viewport instead of requesting an unbounded municipality FeatureCollection.
|
||||
- The Map workspace uses this existing endpoint for vector datasets above 5,000 features. It starts delivery at zoom level 14, debounces `moveend` requests and explicitly reports `truncated=true` as a request to zoom further in. This is a client delivery policy, not a second API or persistence path.
|
||||
|
||||
### POST `/api/v1/projects/{project_id}/datasets/vector/partitions/select`
|
||||
|
||||
Combines `1..16` bounded vector acquisitions of one governed source product
|
||||
into one read-only selection result. The request uses the same `bbox`, optional
|
||||
`area_id` and `limit` contract as vector selection plus `dataset_ids`.
|
||||
|
||||
The backend rejects mixed projects, non-ready vector datasets and partitions
|
||||
whose `source_name` or `product_key` differs. PostGIS calculates area and length
|
||||
metrics across all persisted tile geometries. `total_feature_count` is
|
||||
deduplicated by provider `source_feature_id` where available so a source object
|
||||
crossing a tile edge is not presented as two objects. The response includes
|
||||
`partition_count`, `source_name` and the exact `dataset_ids` used.
|
||||
|
||||
The Map workbench uses this route only for regional selections up to 50 by 50
|
||||
kilometres. Provider calls remain individually bounded below 20 kilometres;
|
||||
larger overview selections do not fan out into unbounded high-resolution
|
||||
downloads.
|
||||
|
||||
### POST `/api/v1/projects/{project_id}/datasets/{dataset_id}/vector/select/derive`
|
||||
|
||||
Persists a bbox selection as a new derived vector dataset and indexes the
|
||||
|
||||
Reference in New Issue
Block a user