Фотограмметрия
Постройте карту 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— это bearer-токен. Создайте его в Консоль → Настройки → API-токены.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 → Карты → Превью и проверьте
геометрию, тепловую карту и якоря. Если видны пропуски или зеркально отражённая геометрия,
повторите фотограмметрию.
Дальше: LiDAR-сканы — карта из наземного LiDAR.