Scans LiDAR
Transformez les nuages de points de scanners LiDAR fixes ou portatifs en carte AR Clip VPS. Cela fonctionne avec des scanners comme Leica, FARO, Trimble et BLK2GO.
Préparer les scans
- Nettoyez les scans bruts. Supprimez les artefacts du trépied, les échos multiples et les objets en mouvement dans Cyclone, ReCap, CloudCompare ou un outil similaire.
- Recalez les stations. Alignez les différents scans à l'aide de cibles ou par correspondance nuage à nuage.
- Ajoutez la couleur. Appliquez des textures photo si vous en avez. Sinon, convertissez l'intensité LiDAR en niveaux de gris.
Exporter
- Créez un maillage simplifié de 5 millions de triangles au maximum pour l'aperçu visuel.
- Exportez le nuage de points en E57, LAZ ou PLY.
- Utilisez un seul système de coordonnées du début à la fin : un plan tangent local en intérieur, ou un CRS géoréférencé en extérieur.
Envoyer le fichier avec Python
# upload_lidar.py
from pathlib import Path
import os
import requests
API_BASE = "https://api.arclip.app/vps/api/v3"
TOKEN = os.environ["ARCLIP_TOKEN"]
DATA_PATH = Path("outputs/plant.e57")
headers = {"Authorization": f"Bearer {TOKEN}"}
payload = {
"name": "Factory Floor",
"dataType": "point_cloud",
"sourceFormat": "e57",
"hybrid": True,
"coordinate": {"lat": 35.68124, "lon": 139.76712}
}
init = requests.post(f"{API_BASE}/maps/import", json=payload, headers=headers)
init.raise_for_status()
info = init.json()
upload_url, map_id = info["uploadUrl"], info["mapId"]
with DATA_PATH.open("rb") as src:
put = requests.put(upload_url, data=src, headers={"Content-Type": "application/octet-stream"})
put.raise_for_status()
finalize = requests.post(f"{API_BASE}/maps/{map_id}/finalize", json={"publish": False}, headers=headers)
finalize.raise_for_status()
print(f"LiDAR map {map_id} queued → {finalize.json()['status']}")
hybrid=Trueindique au serveur que l'envoi contient un nuage de points et, si le paquet E57 ou LAZ en comprend un, un maillage.- Pour des données uniquement en intérieur, omettez le bloc
coordinate.
Ajouter des ancres et publier
Quand la carte passe à READY :
- Choisissez des points d'ancrage pour les machines, les entrées et les sorties.
- Envoyez-les sous forme d'une petite liste JSON :
import json
anchors = [
{"name": "CNC-01", "position": [2.4, 0.0, 8.7]},
{"name": "safety_exit", "position": [-11.2, 0.0, 3.1]}
]
resp = requests.post(
f"{API_BASE}/maps/{map_id}/anchors",
headers=headers,
json={"items": anchors}
)
resp.raise_for_status()
- Une fois la carte vérifiée, publiez-la depuis la console ou appelez
POST /maps/{id}/publish.
Suite : Cartes multi-sessions — fusionnez plusieurs scans en une seule carte.