メインコンテンツまでスキップ

フォトグラメトリー(一眼レフ / ミラーレス)

一眼レフ・ミラーレス・ドローンで静止画を撮り、それを AR Clip VPS のマップにしたいときは、この 手順を使ってください。

撮影のガイドライン

  • 連続する写真どうしで 70〜80 % 重なるようにします。
  • 複数の高さから撮り、見分けやすい目印を画面に入れてください。
  • 露出は一定に保ち、ブレを避けます。
  • 任意:QR コードほどの大きさの地上基準マーカーを置くと、スケールを検証できます。

再構成

  1. 写真セットを Metashape・RealityCapture・Meshroom など、お好みのフォトグラメトリーソフトに 読み込みます。
  2. アライメントと高密度再構成を実行します。
  3. できあがった点群を、色情報付きの LAS/LAZ/PLY で書き出します。テクスチャの解像度は扱える範囲に (8K 以下)。

Python の REST API でアップロードする

次のコードは arclip.design と同じ流れです。アップロード枠を要求し、LAS/PLY ファイルをストリームで 送り、マップを finalize してバックエンドの処理を開始させます。

# 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"] # 個人トークンは 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_TOKENConsole → Settings → API tokens で発行する bearer トークンです。
  • dataTypesourceFormat が中身を説明し、バックエンドが正しいパイプラインを選びます。
  • 処理完了後に自動で公開したいときは publishTrue に。そうでなければ、まず Console で マップを確認してください。

処理の進捗を見る

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"]) # 例: PROCESSING → READY → PUBLISHED

ステータスが READY になったら、arclip.design → MapsPreview を開き、ジオメトリ・ヒート マップ・アンカーを確認してください。穴や反転したジオメトリが見つかったら、フォトグラメトリーの 工程からやり直します。