Couches et imports
Importer un fichier de couche
Section intitulée « Importer un fichier de couche »POST /api/layers/upload (token permission: upload)Content-Type: multipart/form-dataChamps : roomName, layerName, file, et éventuellement description, style (JSON), display
(JSON, pour les rasters). Comportement selon le contenu :
- GeoJSON/CSV de points → repères (
{ markersCreated, markers, layer: null }) - Polygones / lignes → une couche vectorielle (
{ layer: { name, featureCount, ... } }) - GeoTIFF → une couche raster
- Les entrées vectorielles volumineuses renvoient
{ jobId }— interrogez la tâche (ci-dessous).
curl -X POST "$API/api/layers/upload" -H "Authorization: Bearer $TOKEN" \ -F "roomName=$ROOM" -F "layerName=my-layer" -F "file=@data/my-layer.geojson"Créer une couche depuis du GeoJSON en ligne
Section intitulée « Créer une couche depuis du GeoJSON en ligne »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 }Lister les couches
Section intitulée « Lister les couches »GET /api/layers/:roomName (token permission: read)→ { "layers": [ { "id", "name", "featureCount", ... } ] }
Récupérer les entités par emprise
Section intitulée « Récupérer les entités par emprise »GET /api/layers/:layerId/features?minLon=&minLat=&maxLon=&maxLat=&zoom=Renvoie une FeatureCollection GeoJSON. Les petites couches renvoient un objet complet avec
_metadata.complete = true ; les très grandes peuvent renvoyer un manifeste de blocs
(_metadata.directChunks) dont vous récupérez et fusionnez les valeurs path :
GET /api/layers/:layerId/features/chunks/:chunkIndexGros fichiers : envoi par blocs
Section intitulée « Gros fichiers : envoi par blocs »POST /api/layers/upload-chunk (token permission: upload)POST /api/layers/process-chunked (token permission: upload)Les fichiers dépassant le plafond de 50 Mo par requête sont envoyés par blocs (le script d’import s’en charge pour vous), puis assemblés et traités.
Suivre une tâche de traitement
Section intitulée « Suivre une tâche de traitement »GET /api/layers/jobs/:jobIdInterrogez jusqu’à ce que stage/status soit terminal (complete ou error) :
{ "stage": "processing", "progress": 60, "message": "…" }Supprimer une couche
Section intitulée « Supprimer une couche »DELETE /api/layers/:layerId (user session only)Supprimer une couche est une opération de propriétaire/session — un jeton d’API de salle ne peut pas supprimer de couches.

