Livelli e caricamenti
Caricare un file di livello
Sezione intitolata “Caricare un file di livello”POST /api/layers/upload (token permission: upload)Content-Type: multipart/form-dataCampi: 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).
curl -X POST "$API/api/layers/upload" -H "Authorization: Bearer $TOKEN" \ -F "roomName=$ROOM" -F "layerName=my-layer" -F "file=@data/my-layer.geojson"Creare un livello da GeoJSON in linea
Sezione intitolata “Creare un livello da GeoJSON in linea”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 }Elencare i livelli
Sezione intitolata “Elencare i livelli”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/:chunkIndexFile grandi: caricamento a blocchi
Sezione intitolata “File grandi: caricamento a blocchi”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.
Interrogare un’attività di elaborazione
Sezione intitolata “Interrogare un’attività di elaborazione”GET /api/layers/jobs/:jobIdInterroga finché stage/status non è definitivo (complete o error):
{ "stage": "processing", "progress": 60, "message": "…" }Eliminare un livello
Sezione intitolata “Eliminare un livello”DELETE /api/layers/:layerId (user session only)Eliminare un livello è un’operazione da proprietario/sessione — un token API della stanza non può eliminare livelli.

