111 lines
2.1 KiB
Markdown
111 lines
2.1 KiB
Markdown
# M9 Detailed Data Contracts
|
|
|
|
## Project
|
|
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"name": "Geel Building Detection Demo",
|
|
"description": "Building detection and QA against reference features.",
|
|
"region": "Kempen",
|
|
"created_at": "2026-06-11T12:00:00Z",
|
|
"updated_at": "2026-06-11T12:00:00Z"
|
|
}
|
|
```
|
|
|
|
Validation:
|
|
|
|
- name is required,
|
|
- region defaults to Kempen,
|
|
- description optional.
|
|
|
|
## Area
|
|
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"project_id": "uuid",
|
|
"name": "Geel center test area",
|
|
"geometry": { "type": "Polygon", "coordinates": [] },
|
|
"crs": "EPSG:4326",
|
|
"area_m2": 12345.67,
|
|
"bounds": [4.98, 51.15, 5.02, 51.18]
|
|
}
|
|
```
|
|
|
|
Validation:
|
|
|
|
- geometry must be Polygon or MultiPolygon,
|
|
- geometry must be valid,
|
|
- geometry must not be empty,
|
|
- area_m2 must be computed server-side,
|
|
- CRS is EPSG:4326 for API IO unless explicitly documented.
|
|
|
|
## Dataset
|
|
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"project_id": "uuid",
|
|
"name": "reference_buildings.geojson",
|
|
"dataset_type": "vector",
|
|
"source_mode": "demo",
|
|
"source_name": "fixture",
|
|
"storage_path": "storage/projects/.../raw/reference_buildings.geojson",
|
|
"status": "uploaded|processing|ready|failed",
|
|
"crs": "EPSG:4326",
|
|
"bounds": [4.98, 51.15, 5.02, 51.18],
|
|
"feature_count": 100,
|
|
"metadata": {}
|
|
}
|
|
```
|
|
|
|
## Analysis Run
|
|
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"project_id": "uuid",
|
|
"area_id": "uuid",
|
|
"analysis_type": "object_detection|segmentation|qaqc|raster_metadata|vector_metadata",
|
|
"status": "queued|running|completed|failed|cancelled",
|
|
"parameters": {},
|
|
"started_at": null,
|
|
"finished_at": null,
|
|
"error": null
|
|
}
|
|
```
|
|
|
|
## Detection Feature
|
|
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"analysis_run_id": "uuid",
|
|
"class_name": "building",
|
|
"confidence": 0.91,
|
|
"geometry": { "type": "Polygon", "coordinates": [] },
|
|
"bbox": [4.99, 51.16, 4.991, 51.161],
|
|
"source_tile": "tile_001.tif",
|
|
"metadata": {}
|
|
}
|
|
```
|
|
|
|
## QA/QC Result
|
|
|
|
```json
|
|
{
|
|
"analysis_run_id": "uuid",
|
|
"reference_dataset_id": "uuid",
|
|
"predicted_dataset_id": "uuid",
|
|
"match_threshold_iou": 0.5,
|
|
"precision": 0.94,
|
|
"recall": 0.91,
|
|
"f1": 0.925,
|
|
"true_positives": 94,
|
|
"false_positives": 6,
|
|
"false_negatives": 9,
|
|
"findings": []
|
|
}
|
|
```
|