Salta ai contenuti
IT

Livelli e caricamenti

POST /api/layers/upload (token permission: upload)
Content-Type: multipart/form-data

Campi: roomName, layerName, file e, facoltativi, description, style (JSON), display (JSON, per i raster). Comportamento in base al contenuto:

  • GeoJSON/CSV di punti → segnaposto ({ markersCreated, markers, layer: null })
  • Poligoni / linee → un livello vettoriale ({ layer: { name, featureCount, ... } })
  • GeoTIFF → un livello raster
  • Gli input vettoriali più grandi restituiscono { jobId } — interroga l’attività (sotto).
Terminal window
curl -X POST "$API/api/layers/upload" -H "Authorization: Bearer $TOKEN" \
-F "roomName=$ROOM" -F "layerName=my-layer" -F "file=@data/my-layer.geojson"
POST /api/rooms/:roomId/layers (token permission: write)
Content-Type: application/json
{ "name": "drawn", "description": "study area",
"geojson": { "type": "FeatureCollection", "features": [] },
"color": "e11d48", "opacity": 0.35, "strokeWeight": 3, "visible": true }
GET /api/layers/:roomName (token permission: read)

{ "layers": [ { "id", "name", "featureCount", ... } ] }

Recuperare gli elementi per riquadro di delimitazione

Sezione intitolata “Recuperare gli elementi per riquadro di delimitazione”
GET /api/layers/:layerId/features?minLon=&minLat=&maxLon=&maxLat=&zoom=

Restituisce una FeatureCollection GeoJSON. I livelli piccoli restituiscono un oggetto completo con _metadata.complete = true; quelli molto grandi possono restituire un manifesto a blocchi (_metadata.directChunks) i cui valori path vanno recuperati e uniti:

GET /api/layers/:layerId/features/chunks/:chunkIndex
POST /api/layers/upload-chunk (token permission: upload)
POST /api/layers/process-chunked (token permission: upload)

I file che superano il limite di 50 MB per singola richiesta vengono caricati a blocchi (lo script di importazione lo fa per te), poi assemblati ed elaborati.

GET /api/layers/jobs/:jobId

Interroga finché stage/status non è definitivo (complete o error):

{ "stage": "processing", "progress": 60, "message": "" }
DELETE /api/layers/:layerId (user session only)

Eliminare un livello è un’operazione da proprietario/sessione — un token API della stanza non può eliminare livelli.