Initial GeoIntel V1 foundation
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
# API Specification v1.0
|
||||
|
||||
Basispad: `/api/v1`
|
||||
|
||||
## Projects
|
||||
|
||||
### GET /projects
|
||||
|
||||
Geeft alle projecten terug.
|
||||
|
||||
### POST /projects
|
||||
|
||||
Maakt een project aan.
|
||||
|
||||
Body:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Geel gebouwdetectie demo",
|
||||
"description": "Detectie en QA/QC van gebouwen in Geel",
|
||||
"region": "Kempen"
|
||||
}
|
||||
```
|
||||
|
||||
### GET /projects/{project_id}
|
||||
|
||||
Geeft projectdetails terug.
|
||||
|
||||
### DELETE /projects/{project_id}
|
||||
|
||||
Verwijdert een project en gekoppelde metadata. Bestanden moeten veilig afgehandeld worden.
|
||||
|
||||
## Areas
|
||||
|
||||
### GET /projects/{project_id}/areas
|
||||
|
||||
Geeft analysegebieden van een project.
|
||||
|
||||
### POST /projects/{project_id}/areas
|
||||
|
||||
Maakt analysegebied aan.
|
||||
|
||||
Body:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Geel Centrum",
|
||||
"geometry": { "type": "Polygon", "coordinates": [] }
|
||||
}
|
||||
```
|
||||
|
||||
### GET /areas/{area_id}
|
||||
|
||||
Geeft gebieddetails.
|
||||
|
||||
## Datasets
|
||||
|
||||
### POST /projects/{project_id}/datasets/upload
|
||||
|
||||
Uploadt raster of vector dataset.
|
||||
|
||||
Multipart:
|
||||
|
||||
- file
|
||||
- name
|
||||
- dataset_type
|
||||
- source
|
||||
|
||||
### GET /projects/{project_id}/datasets
|
||||
|
||||
Lijst datasets.
|
||||
|
||||
### GET /datasets/{dataset_id}
|
||||
|
||||
Datasetdetails.
|
||||
|
||||
### GET /datasets/{dataset_id}/metadata
|
||||
|
||||
Metadata.
|
||||
|
||||
### POST /datasets/{dataset_id}/extract-metadata
|
||||
|
||||
Start metadata extraction job.
|
||||
|
||||
## Reference Data
|
||||
|
||||
### POST /projects/{project_id}/reference/grb/fetch
|
||||
|
||||
Haalt GRB-data op voor een area.
|
||||
|
||||
Body:
|
||||
|
||||
```json
|
||||
{
|
||||
"area_id": "uuid",
|
||||
"layers": ["buildings"]
|
||||
}
|
||||
```
|
||||
|
||||
### POST /projects/{project_id}/reference/osm/fetch
|
||||
|
||||
Haalt OSM-data op voor een area.
|
||||
|
||||
## Raster
|
||||
|
||||
### POST /datasets/{dataset_id}/raster/clip
|
||||
|
||||
Clipt raster op area.
|
||||
|
||||
### POST /datasets/{dataset_id}/raster/tile
|
||||
|
||||
Maakt tiles voor AI-inference.
|
||||
|
||||
Body:
|
||||
|
||||
```json
|
||||
{
|
||||
"tile_size": 640,
|
||||
"overlap": 64,
|
||||
"area_id": "uuid"
|
||||
}
|
||||
```
|
||||
|
||||
### POST /datasets/{dataset_id}/raster/indices/ndvi
|
||||
|
||||
V2: berekent NDVI.
|
||||
|
||||
## Vector
|
||||
|
||||
### POST /datasets/{dataset_id}/vector/clip
|
||||
|
||||
Clipt vectorlaag op area.
|
||||
|
||||
### POST /datasets/{dataset_id}/vector/buffer
|
||||
|
||||
Maakt buffers.
|
||||
|
||||
### POST /datasets/{dataset_id}/vector/validate
|
||||
|
||||
Valideert geometrieën.
|
||||
|
||||
## Analysis
|
||||
|
||||
### POST /analysis/object-detection
|
||||
|
||||
Start objectdetectie.
|
||||
|
||||
Body:
|
||||
|
||||
```json
|
||||
{
|
||||
"project_id": "uuid",
|
||||
"area_id": "uuid",
|
||||
"dataset_id": "uuid",
|
||||
"model_id": "uuid-or-default",
|
||||
"classes": ["building"],
|
||||
"confidence_threshold": 0.35
|
||||
}
|
||||
```
|
||||
|
||||
### POST /analysis/segmentation
|
||||
|
||||
Start segmentatie.
|
||||
|
||||
### POST /analysis/change-detection
|
||||
|
||||
Start change detection.
|
||||
|
||||
### GET /analysis/{analysis_run_id}
|
||||
|
||||
Geeft runstatus en resultaten.
|
||||
|
||||
### GET /analysis/{analysis_run_id}/detections
|
||||
|
||||
Geeft detecties als GeoJSON FeatureCollection.
|
||||
|
||||
### GET /analysis/{analysis_run_id}/segmentations
|
||||
|
||||
Geeft segmentaties als GeoJSON FeatureCollection.
|
||||
|
||||
## QA/QC
|
||||
|
||||
### POST /analysis/{analysis_run_id}/quality-check
|
||||
|
||||
Vergelijkt AI-resultaten met referentiedataset.
|
||||
|
||||
Body:
|
||||
|
||||
```json
|
||||
{
|
||||
"reference_dataset_id": "uuid",
|
||||
"iou_threshold": 0.5,
|
||||
"class_mapping": {
|
||||
"building": "building"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### GET /quality-checks/{quality_check_id}
|
||||
|
||||
Geeft QA/QC-resultaten.
|
||||
|
||||
## Exports
|
||||
|
||||
### POST /exports/geojson
|
||||
|
||||
Exporteert analysis output naar GeoJSON.
|
||||
|
||||
### POST /exports/yolo
|
||||
|
||||
Exporteert annotaties naar YOLO-formaat.
|
||||
|
||||
### POST /exports/coco
|
||||
|
||||
Exporteert annotaties naar COCO-formaat.
|
||||
|
||||
### GET /exports/{export_id}/download
|
||||
|
||||
Download exportbestand.
|
||||
|
||||
## Jobs
|
||||
|
||||
### GET /jobs/{job_id}
|
||||
|
||||
Geeft jobstatus.
|
||||
|
||||
### GET /projects/{project_id}/jobs
|
||||
|
||||
Geeft jobs van een project.
|
||||
Reference in New Issue
Block a user