Обзор API
Данный раздел предоставляет полную справочную документацию по API для MipMapEngine SDK, включая все доступные интерфейсы, описания параметров и примеры использования.
Если вы еще не установили SDK, пожалуйста, сначала ознакомьтесь с Руководством по установке. Для начинающих пользователей рекомендуется начать с Быстрого старта.
MipMapEngine SDK предоставляет различные интерфейсы для удовлетворения различных сценариев использования:
🏗️ Архитектура SDK
Слой приложения
- Ваше приложение | Python/C++/CLI | Веб-сервисы
Слой API интерфейса
- ReconstructFull (Полный процесс) | ReconstructAT (Воздушная триангуляция) | Reconstruct3D (3D-реконструкция)
Ядро движка
- Алгоритмы фотограмметрии | GPU-ускорение | Параллельная обработка
Системный слой
- NVIDIA CUDA | Файловая система | Управление лицензиями
📚 Категории интерфейсов
1. Интерфейсы пакетной обработки
Подходят для автономной обработки больших объемов данных:
| Интерфейс | Функция | Случай использования |
|---|---|---|
| ReconstructFull | Реконструкция полного процесса | Быстрый старт, автоматическая обработка |
| ReconstructAT | Воздушная триангуляция | Точный контроль, профессиональные пользователи |
| Reconstruct3D | 3D-реконструкция | Генерация моделей из результатов AT |
| OptimizeAT | Оптимизация AT | Использование контрольных точек для повышения точности |
| DivideTiles | Обработка тайлов | Реконструкция блоков данных большого масштаба |
2. Вспомогательные инструменты
| Инструмент | Функция |
|---|---|
| License Engine | Управление лицензиями |
| Progress Monitor | Мониторинг прогресса |
🔄 Типичные рабочие процессы
Вариант 1: Быстрый полный процесс (Рекомендуется для начинающих)
ReconstructFull → Результаты вывода
Одношаговое решение, автоматически обрабатывает все процессы
Вариант 2: Пошаговая обработка (Профессиональные пользователи)
ReconstructAT → OptimizeAT (Опционально) → Reconstruct3D → Результаты вывода
Точный контроль каждого шага, поддерживает проверку промежуточных результатов и оптимизацию
📝 Методы вызова интерфейса
1. Вызов из командной строки
SDK поддерживает прямые вызовы из командной строки для каждого движка:
# Общий формат
<engine_name> [options] -task_json <config_file>
# Пример: Вызов ReconstructFull
reconstruct_full_engine -reconstruct_type 0 -task_json config.json
После первоначальной установки, пожалуйста, обратитесь к Руководству по установке для проверочных тестов.
2. Интеграция в программу
Интегрируйте в ваше приложение через вызовы процессов:
import subprocess
import json
# Подготовка конфигурации
config = {
"license_id": 9200,
"working_dir": "./output",
"gdal_folder": "./data",
# ... другие параметры
}
# Сохранение файла конфигурации
with open("task.json", "w") as f:
json.dump(config, f)
# Вызов SDK
result = subprocess.run([
"reconstruct_full_engine.exe",
"-reconstruct_type", "0",
"-task_json", "task.json"
], capture_output=True, text=True)
print(result.stdout)
🎯 Выбор правильного интерфейса
| Если вы... | Рекомендуется | Причина |
|---|---|---|
| Впервые используете SDK | ReconstructFull | Автоматически обрабатывает все детали, самый простой |
| Нужно использовать контрольные точки | ReconstructAT + OptimizeAT | Поддерживает оптимизацию контрольных точек |
| Обрабатываете сверхбольшие данные | DivideTiles + Reconstruct3D | Поддерживает параллельную обработку блоков |
| Нужны промежуточные результаты | Пошаговая обработка | Может проверять и корректировать промежуточные результаты |
📖 Общие концепции
Файлы конфигурации JSON
Все интерфейсы используют файлы конфигурации в формате JSON, базовая структура:
{
"license_id": 9200, // Обязательно: ID лицензии
"working_dir": "string", // Обязательно: Рабочий каталог
"gdal_folder": "string", // Обязательно: Каталог данных GDAL
// ... другие параметры зависят от интерфейса
}
Определение системы координат
{
"coordinate_system": {
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // Код EPSG (опционально)
"wkt": "string", // Строка WKT (опционально)
"origin_point": [lon, lat, alt] // Начало LocalENU (нужно только при type=0)
}
}
Обработка ошибок
Все интерфейсы возвращают целочисленные коды ошибок:
0: УспехОтрицательные числа: Различные условия ошибок
См. справочник кодов ошибок для подробностей.
🚀 Следующие шаги
- 📚 Узнайте больше об интерфейсе ReconstructFull (рекомендуется для начинающих)
- 🔧 Изучите интерфейс ReconstructAT (продвинутые функции)
- 💡 Проверьте полные примеры для практического использования
Совет: Потребности большинства пользователей могут быть удовлетворены с помощью ReconstructFull. Используйте другие интерфейсы только когда нужен точный контроль.