Visão Geral da API
Esta seção fornece documentação de referência completa da API para MipMapEngine SDK, incluindo todas as interfaces disponíveis, descrições de parâmetros e exemplos de uso.
Se você ainda não instalou o SDK, por favor verifique primeiro o Guia de Instalação. Para usuários iniciantes, é recomendado começar com Início Rápido.
MipMapEngine SDK fornece várias interfaces para atender diferentes cenários de uso:
🏗️ Arquitetura do SDK
Camada de Aplicação
- Sua Aplicação | Python/C++/CLI | Serviços Web
Camada de Interface API
- ReconstructFull (Processo Completo) | ReconstructAT (Triangulação Aérea) | Reconstruct3D (Reconstrução 3D)
Motor Central
- Algoritmos de Fotogrametria | Aceleração GPU | Processamento Paralelo
Camada do Sistema
- NVIDIA CUDA | Sistema de Arquivos | Gestão de Licenças
📚 Categorias de Interfaces
1. Interfaces de Processamento em Lote
Adequadas para processamento offline de grandes quantidades de dados:
| Interface | Função | Caso de Uso |
|---|---|---|
| ReconstructFull | Reconstrução de processo completo | Início rápido, processamento automático |
| ReconstructAT | Triangulação aérea | Controle fino, usuários profissionais |
| Reconstruct3D | Reconstrução 3D | Gerar modelos a partir de resultados AT |
| OptimizeAT | Otimizar AT | Usar pontos de controle para melhorar precisão |
| DivideTiles | Processamento de ladrilhos | Reconstrução de blocos de dados em larga escala |
2. Ferramentas Auxiliares
| Ferramenta | Função |
|---|---|
| License Engine | Gestão de licenças |
| Progress Monitor | Monitoramento de progresso |
🔄 Fluxos de Trabalho Típicos
Opção 1: Processo Completo Rápido (Recomendado para Iniciantes)
ReconstructFull → Resultados de Saída
Solução de uma etapa, lida automaticamente com todos os processos
Opção 2: Processamento Passo a Passo (Usuários Profissionais)
ReconstructAT → OptimizeAT (Opcional) → Reconstruct3D → Resultados de Saída
Controle fino sobre cada etapa, suporta verificação de resultados intermediários e otimização
📝 Métodos de Chamada da Interface
1. Chamada por Linha de Comando
O SDK suporta chamadas diretas por linha de comando para cada motor:
# Formato geral
<engine_name> [options] -task_json <config_file>
# Exemplo: Chamar ReconstructFull
reconstruct_full_engine -reconstruct_type 0 -task_json config.json
Após a instalação inicial, por favor consulte o Guia de Instalação para testes de verificação.
2. Integração de Programa
Integre em sua aplicação através de chamadas de processo:
import subprocess
import json
# Preparar configuração
config = {
"license_id": 9200,
"working_dir": "./output",
"gdal_folder": "./data",
# ... outros parâmetros
}
# Salvar arquivo de configuração
with open("task.json", "w") as f:
json.dump(config, f)
# Chamar SDK
result = subprocess.run([
"reconstruct_full_engine.exe",
"-reconstruct_type", "0",
"-task_json", "task.json"
], capture_output=True, text=True)
print(result.stdout)
🎯 Escolhendo a Interface Correta
| Se você... | Recomendado | Razão |
|---|---|---|
| Está usando SDK pela primeira vez | ReconstructFull | Lida automaticamente com todos os detalhes, mais simples |
| Precisa usar pontos de controle | ReconstructAT + OptimizeAT | Suporta otimização de pontos de controle |
| Processando dados ultra-grandes | DivideTiles + Reconstruct3D | Suporta processamento paralelo de blocos |
| Precisa de resultados intermediários | Processamento passo a passo | Pode verificar e ajustar resultados intermediários |
📖 Conceitos Comuns
Arquivos de Configuração JSON
Todas as interfaces usam arquivos de configuração no formato JSON, estrutura básica:
{
"license_id": 9200, // Obrigatório: ID da Licença
"working_dir": "string", // Obrigatório: Diretório de trabalho
"gdal_folder": "string", // Obrigatório: Diretório de dados GDAL
// ... outros parâmetros dependem da interface
}
Definição do Sistema de Coordenadas
{
"coordinate_system": {
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // Código EPSG (opcional)
"wkt": "string", // String WKT (opcional)
"origin_point": [lon, lat, alt] // Origem LocalENU (necessário apenas quando type=0)
}
}
Tratamento de Erros
Todas as interfaces retornam códigos de erro inteiros:
0: SucessoNúmeros negativos: Várias condições de erro
Veja referência de códigos de erro para detalhes.
🚀 Próximos Passos
- 📚 Aprenda mais sobre a interface ReconstructFull (recomendado para iniciantes)
- 🔧 Estude a interface ReconstructAT (recursos avançados)
- 💡 Verifique exemplos completos para uso prático
Dica: As necessidades da maioria dos usuários podem ser atendidas com ReconstructFull. Use outras interfaces apenas quando controle fino for necessário.