GDDCGeospatial

Resource

Flights.

Ein Flight aggregiert Captures (Bilder/Scans) eines einzelnen Drohnen-Einsatzes. Verarbeitung wird automatisch nach Upload-Ende getriggert.

POST/v1/flights

Flight anlegen + Upload-URL erzeugen

Erstellt einen Flight im Status 'pending_upload' und liefert eine pre-signed S3-URL für Bulk-Upload zurück. Nach Upload-Ende ruft der Client /commit auf.

Body

NameTypBeschreibung
project_id*stringZiel-Projekt
drone_model*stringz.B. DJI_M3E
pilot_idstring?Mitarbeiter-Mail oder employee.id
lba_approval_idstring?Verweis auf PRD 44 Approval

Beispiel-Response

{
  "id": "FLT_kL2Pq8",
  "project_id": "PRJ_aT3Dd9",
  "status": "pending_upload",
  "upload": {
    "url": "https://uploads.geospatial.gddc-sh.de/FLT_kL2Pq8?...",
    "expires_at": "2026-04-27T10:01:14Z",
    "max_parts": 1000
  }
}

Beispiel-Request

curl https://api.geospatial.gddc-sh.de/v1/flights \
  -H "Authorization: Bearer $GDDC_TOKEN" \
  -d '{"project_id":"PRJ_aT3Dd9","drone_model":"DJI_M3E"}'
POST/v1/flights/{id}/commit

Upload abschließen

Markiert den Upload als fertig und triggert die Verarbeitungs-Pipeline. Sollte vom CLI/SDK aufgerufen werden, sobald alle Bilder hochgeladen wurden.

Path-Parameter

NameTypBeschreibung
id*stringFlight-ID

Body

NameTypBeschreibung
rtk_file_urlstring?S3-URL der RTK-MRK/CSV im selben Upload-Bucket

Beispiel-Response

{ "id": "FLT_kL2Pq8", "status": "processing", "queue_position": 2 }

Beispiel-Request

curl -X POST https://api.geospatial.gddc-sh.de/v1/flights/FLT_kL2Pq8/commit \
  -H "Authorization: Bearer $GDDC_TOKEN" \
  -d '{"rtk_file_url":"https://uploads.geospatial.gddc-sh.de/FLT_kL2Pq8/rtk.csv"}'
GET/v1/flights/{id}

Flight-Status holen

Live-Status mit Stages und Progress.

Path-Parameter

NameTypBeschreibung
id*stringFlight-ID

Beispiel-Response

{
  "id": "FLT_kL2Pq8",
  "project_id": "PRJ_aT3Dd9",
  "drone_model": "DJI_M3E",
  "rtk_status": "fixed",
  "captures": 1247,
  "size_bytes": 3_421_098_752,
  "status": "processing",
  "stages": [
    { "name": "upload",     "status": "done",       "duration_ms": 222_400 },
    { "name": "validation", "status": "done",       "duration_ms": 11_120 },
    { "name": "georef",     "status": "done",       "duration_ms": 42_080 },
    { "name": "sfm",        "status": "in_progress","progress": 0.62 },
    { "name": "classify",   "status": "queued" },
    { "name": "tiles",      "status": "queued" }
  ]
}

Beispiel-Request

curl https://api.geospatial.gddc-sh.de/v1/flights/FLT_kL2Pq8 \
  -H "Authorization: Bearer $GDDC_TOKEN"
GET/v1/flights

Flights listen

Liste aller Flights, gefiltert nach Project oder Status.

Query-Parameter

NameTypBeschreibung
project_idstring?Nur Flights dieses Projekts
statusstring?z.B. processing | done | failed
limitintPage-Size, max 100

Beispiel-Response

{
  "items": [
    { "id": "FLT_kL2Pq8", "status": "done",       "captures": 1247 },
    { "id": "FLT_jQ8Mp4", "status": "processing", "captures":  912 }
  ],
  "next_cursor": null
}

Beispiel-Request

curl "https://api.geospatial.gddc-sh.de/v1/flights?project_id=PRJ_aT3Dd9" \
  -H "Authorization: Bearer $GDDC_TOKEN"