Перейти к основному содержимому

Обзор API

Данный раздел предоставляет полную справочную документацию по API для MipMapEngine SDK, включая все доступные интерфейсы, описания параметров и примеры использования.

Перед началом работы

Если вы еще не установили SDK, пожалуйста, сначала ознакомьтесь с Руководством по установке. Для начинающих пользователей рекомендуется начать с Быстрого старта.

MipMapEngine SDK предоставляет различные интерфейсы для удовлетворения различных сценариев использования:

🏗️ Архитектура SDK

Слои архитектуры MipMapEngine SDK

Слой приложения

  • Ваше приложение | Python/C++/CLI | Веб-сервисы

Слой API интерфейса

  • ReconstructFull (Полный процесс) | ReconstructAT (Воздушная триангуляция) | Reconstruct3D (3D-реконструкция)

Ядро движка

  • Алгоритмы фотограмметрии | GPU-ускорение | Параллельная обработка

Системный слой

  • NVIDIA CUDA | Файловая система | Управление лицензиями

📚 Категории интерфейсов

1. Интерфейсы пакетной обработки

Подходят для автономной обработки больших объемов данных:

ИнтерфейсФункцияСлучай использования
ReconstructFullРеконструкция полного процессаБыстрый старт, автоматическая обработка
ReconstructATВоздушная триангуляцияТочный контроль, профессиональные пользователи
Reconstruct3D3D-реконструкцияГенерация моделей из результатов AT
OptimizeATОптимизация ATИспользование контрольных точек для повышения точности
DivideTilesОбработка тайловРеконструкция блоков данных большого масштаба

2. Вспомогательные инструменты

ИнструментФункция
License EngineУправление лицензиями
Progress MonitorМониторинг прогресса

🔄 Типичные рабочие процессы

Вариант 1: Быстрый полный процесс (Рекомендуется для начинающих)

Быстрый полный процесс

ReconstructFullРезультаты вывода

Одношаговое решение, автоматически обрабатывает все процессы

Вариант 2: Пошаговая обработка (Профессиональные пользователи)

Поток пошаговой обработки

ReconstructATOptimizeAT (Опционально) → 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)

🎯 Выбор правильного интерфейса

Рекомендации по выбору интерфейса
Если вы...РекомендуетсяПричина
Впервые используете SDKReconstructFullАвтоматически обрабатывает все детали, самый простой
Нужно использовать контрольные точки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. Используйте другие интерфейсы только когда нужен точный контроль.