フォトグラメトリー
一眼レフ、ミラーレスカメラ、ドローンで撮った静止画から、AR Clip VPS のマップを作ります。
写真を撮る
- 前後の写真が 70〜80 % 重なるように撮ります。
- いくつかの高さから撮影し、見分けやすい目印を入れます。
- 一連の写真で露出をそろえ、手ぶれや被写体ぶれを避けます。
- 任意:スケールを確認するために、QR コードほどの大きさの対空標識(グラウンドコントロールマーカー)を置きます。
点群を作る
- Metashape、RealityCapture、Meshroom などのフォトグラメトリーのツールに写真を読み込みます。
- アライメントを実行し、続けて高密度の再構成を行います。
- 点群を色付きで LAS、LAZ、PLY のいずれかの形式で書き出します。テクスチャーの解像度は 8K 以下にします。
Python でアップロードする
このスクリプトは arclip.design と同じ流れで処理します。アップロード先を要求し、LAS か PLY のファイルをアップロードし、マップを確定して処理を開始させます。
# 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_TOKENはベアラートークンです。Console → Settings → API tokens で作成します。dataTypeとsourceFormatは、アップロードするファイルの種類を表します。- 処理が終わったらすぐにマップを公開するには、
publishをTrueにします。そうでなければ、先にコンソールで確認します。
処理の状況を確認する
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
ステータスが READY になったら、arclip.design → Maps → Preview を開き、ジオメトリー、ヒートマップ、アンカーを確認します。抜けている部分や左右が反転したジオメトリーがあれば、フォトグラメトリーの工程をやり直してください。
次へ: LiDAR スキャン — 地上型 LiDAR からマップを作ります。