Руководство по подключению
Обзор продукта
Open API структурированного пространственного моделирования предназначен для сторонних систем. Он выполняет автоматическую облачную обработку, которая превращает данные 3D-съёмки в редактируемые модели.
Процесс: загрузите пакет сцены LCC2, облако точек LAS или облако точек PLY → облако автоматически строит модель → создаются 3D-модели DXF / GLB / BLEND и модель Revit (RVT).
Сценарии использования
- Исполнительная документация: получайте подосновы планов этажей и разрезов прямо по результатам сканирования объекта, без ручного перестроения модели.
- Проектирование реконструкции: получайте стены, двери и окна с размерами и проектируйте прямо в CAD.
- Управление недвижимостью и активами: выпускайте планы этажей и экспликации площадей пакетно.
- Технико-экономическая оценка и подсчёт объёмов: используйте структурированные данные, чтобы оценить демонтаж и перепланировку и рассчитать материалы.
Ограничения использования
| Параметр | Ограничение |
|---|---|
| Параллельные запросы к API | 10 запросов / с на каждый API |
| Параллельные задачи моделирования | Без ограничений; задачи попадают в очередь сразу после отправки |
| Размер пакетного запроса | Не более 50 modelId в одном запросе сведений о задачах |
| Интервал опроса | Рекомендуется не менее 5 секунд |
| Срок действия временных учётных данных для загрузки | 12 часов |
| Максимальное число частей | 10 000 частей |
| Тайм-аут heartbeat загрузки | 180 секунд; задачи с истёкшим тайм-аутом переводятся в статус «Ошибка загрузки» |
| Ограничение частоты по modelId | Для API «Запуск задачи» и «Повторное получение учётных данных для загрузки» действует ограничение — один вызов в 3 секунды |
Покупка
Сервис доступен в AWS Marketplace. Оформите подписку на странице продукта в AWS Marketplace.
Получение учётных данных приложения
Заранее подайте заявку на приложение, чтобы получить следующие учётные данные.
| Учётные данные | Описание |
|---|---|
| APP-ID | Уникальный идентификатор приложения |
| APP-Secret | Секрет приложения, используется для формирования подписи |
Примечание: храните APP-Secret в надёжном месте и никому его не раскрывайте. Используйте его только на стороне сервера для формирования подписи. Никогда не передавайте его клиентам и не размещайте во фронтенд-коде.
Регион хранения данных привязывается при подаче заявки на приложение, поэтому передавать его при вызове API не нужно.
Механизм подписи
Элементы подписи
| Элемент | Источник | Правило |
|---|---|---|
| httpMethod | Метод запроса | В верхнем регистре. Все API в этом документе используют POST |
| path | Путь запроса | Полный путь, включая префикс /open-apis |
| timestamp | X-Timestamp | Временная метка в секундах, совпадает со значением в заголовке |
| nonce | X-Nonce | Случайная строка, совпадает со значением в заголовке |
Строка для подписи
\n — перевод строки. Тело запроса в подпись не входит.
httpMethod + "\n" + path + "\n" + timestamp + "\n" + nonce
Пример:
POST
/open-apis/spatial-model/v1/model/create
1791763200
a3f91c2d8e7b4a6590fd12cb77ae40d1
Алгоритм подписи
| Параметр | Значение |
|---|---|
| Алгоритм | HMAC-SHA256 |
| Ключ | APP-Secret |
| Результат | Строка в кодировке Base64 |
Пример кода
public static void main(String[] args) throws Exception {
String httpMethod = "POST";
String path = "/open-apis/spatial-model/v1/model/create";
long timestamp = System.currentTimeMillis() / 1000;
String nonce = UUID.randomUUID().toString().replaceAll("-", "");
// 1. Формируем строку для подписи
String signContent = httpMethod + "\n" + path + "\n" + timestamp + "\n" + nonce;
// 2. HMAC-SHA256
String appSecret = "xxxxxxxxxxxxxxxxxxx";
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey =
new SecretKeySpec(appSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
mac.init(secretKey);
byte[] rawHmac = mac.doFinal(signContent.getBytes(StandardCharsets.UTF_8));
// 3. Кодируем в Base64
System.out.println(Base64.getEncoder().encodeToString(rawHmac));
}
Когда всё будет готово, ознакомьтесь со страницей Процесс моделирования, где описан полный порядок вызовов.