Photogrammétrie
Construisez une carte AR Clip VPS à partir de photos prises avec un appareil reflex, un hybride ou un drone.
Prendre les photos
- Faites se chevaucher chaque photo avec la suivante de 70 à 80 %.
- Prenez des vues à plusieurs hauteurs, et incluez des repères faciles à reconnaître.
- Gardez la même exposition sur toute la série, et évitez le flou de bougé.
- Facultatif : placez au sol des repères de contrôle de la taille d'un QR code environ, pour vérifier l'échelle.
Construire le nuage de points
- Importez les photos dans Metashape, RealityCapture, Meshroom ou un autre outil de photogrammétrie.
- Lancez l'alignement, puis la reconstruction dense.
- Exportez le nuage de points en LAS, LAZ ou PLY, avec la couleur. Gardez une résolution de texture de 8K au maximum.
Envoyer le fichier avec Python
Ce script suit le même parcours qu'arclip.design. Il demande un emplacement d'envoi, envoie le fichier LAS ou PLY, puis finalise la carte pour lancer le traitement.
# upload_photogrammetry.py
from pathlib import Path
import os
import requests
API_BASE = "https://api.arclip.app/vps/api/v3"
TOKEN = os.environ["ARCLIP_TOKEN"] # create a personal token in arclip.design
DATA_PATH = Path("outputs/cathedral.las")
headers = {"Authorization": f"Bearer {TOKEN}"}
payload = {
"name": "Old Town Square",
"dataType": "point_cloud",
"sourceFormat": "las",
"coordinate": {"lat": 50.08746, "lon": 14.42125, "alt": 194.2}
}
init = requests.post(f"{API_BASE}/maps/import", json=payload, headers=headers)
init.raise_for_status()
info = init.json()
upload_url = info["uploadUrl"]
map_id = 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"Map {map_id} queued → status: {finalize.json()['status']}")
ARCLIP_TOKENest un jeton bearer. Créez-le dans Console → Settings → API tokens.dataTypeetsourceFormatdécrivent le fichier que vous envoyez.- Réglez
publishsurTruepour publier la carte dès la fin du traitement. Sinon, vérifiez-la d'abord dans la console.
Suivre le traitement
import os
import requests
API_BASE = "https://api.arclip.app/vps/api/v3"
TOKEN = os.environ["ARCLIP_TOKEN"]
MAP_ID = "map_12345"
resp = requests.get(f"{API_BASE}/maps/{MAP_ID}", headers={"Authorization": f"Bearer {TOKEN}"})
resp.raise_for_status()
print(resp.json()["status"]) # e.g. PROCESSING → READY → PUBLISHED
Quand le statut est READY, ouvrez arclip.design → Maps → Preview pour vérifier la
géométrie, la heatmap et les ancres. Si vous voyez des trous ou une géométrie inversée en miroir,
relancez l'étape de photogrammétrie.
Suite : Scans LiDAR — construisez une carte à partir d'un LiDAR terrestre.