Panoramica API
Questa sezione fornisce documentazione di riferimento completa per l'API di MipMapEngine SDK, incluse tutte le interfacce disponibili, descrizioni dei parametri ed esempi d'uso.
Se non hai ancora installato l'SDK, controlla prima la Guida all'Installazione. Per gli utenti alle prime armi, si raccomanda di iniziare con Avvio Rapido.
MipMapEngine SDK fornisce varie interfacce per soddisfare diversi scenari d'uso:
🏗️ Architettura SDK
Livello Applicazione
- La Tua Applicazione | Python/C++/CLI | Servizi Web
Livello Interfaccia API
- ReconstructFull (Processo Completo) | ReconstructAT (Triangolazione Aerea) | Reconstruct3D (Ricostruzione 3D)
Motore Centrale
- Algoritmi Fotogrammetrici | Accelerazione GPU | Elaborazione Parallela
Livello Sistema
- NVIDIA CUDA | File System | Gestione Licenze
📚 Categorie di Interfacce
1. Interfacce di Elaborazione Batch
Adatte per l'elaborazione offline di grandi quantità di dati:
| Interfaccia | Funzione | Caso d'Uso |
|---|---|---|
| ReconstructFull | Ricostruzione processo completo | Avvio rapido, elaborazione automatica |
| ReconstructAT | Triangolazione aerea | Controllo fine, utenti professionali |
| Reconstruct3D | Ricostruzione 3D | Generare modelli dai risultati AT |
| OptimizeAT | Ottimizzare AT | Usare punti di controllo per migliorare l'accuratezza |
| DivideTiles | Elaborazione tessere | Ricostruzione blocchi dati su larga scala |
2. Strumenti Ausiliari
| Strumento | Funzione |
|---|---|
| License Engine | Gestione licenze |
| Progress Monitor | Monitoraggio progresso |
🔄 Flussi di Lavoro Tipici
Opzione 1: Processo Completo Rapido (Raccomandato per Principianti)
ReconstructFull → Risultati Output
Soluzione a un passo, gestisce automaticamente tutti i processi
Opzione 2: Elaborazione Passo-Passo (Utenti Professionali)
ReconstructAT → OptimizeAT (Opzionale) → Reconstruct3D → Risultati Output
Controllo fine su ogni passo, supporta controllo risultati intermedi e ottimizzazione
📝 Metodi di Chiamata Interfaccia
1. Chiamata da Riga di Comando
L'SDK supporta chiamate dirette da riga di comando per ogni motore:
# Formato generale
<engine_name> [options] -task_json <config_file>
# Esempio: Chiamare ReconstructFull
reconstruct_full_engine -reconstruct_type 0 -task_json config.json
Dopo l'installazione iniziale, consulta la Guida all'Installazione per i test di verifica.
2. Integrazione Programma
Integra nella tua applicazione tramite chiamate di processo:
import subprocess
import json
# Preparare configurazione
config = {
"license_id": 9200,
"working_dir": "./output",
"gdal_folder": "./data",
# ... altri parametri
}
# Salvare file di configurazione
with open("task.json", "w") as f:
json.dump(config, f)
# Chiamare SDK
result = subprocess.run([
"reconstruct_full_engine.exe",
"-reconstruct_type", "0",
"-task_json", "task.json"
], capture_output=True, text=True)
print(result.stdout)
🎯 Scegliere l'Interfaccia Giusta
| Se tu... | Raccomandato | Motivo |
|---|---|---|
| Usi l'SDK per la prima volta | ReconstructFull | Gestisce automaticamente tutti i dettagli, più semplice |
| Devi usare punti di controllo | ReconstructAT + OptimizeAT | Supporta ottimizzazione punti di controllo |
| Elabori dati ultra-grandi | DivideTiles + Reconstruct3D | Supporta elaborazione parallela blocchi |
| Hai bisogno di risultati intermedi | Elaborazione passo-passo | Può controllare e regolare risultati intermedi |
📖 Concetti Comuni
File di Configurazione JSON
Tutte le interfacce usano file di configurazione formato JSON, struttura base:
{
"license_id": 9200, // Richiesto: ID Licenza
"working_dir": "string", // Richiesto: Directory di lavoro
"gdal_folder": "string", // Richiesto: Directory dati GDAL
// ... altri parametri dipendono dall'interfaccia
}
Definizione Sistema di Coordinate
{
"coordinate_system": {
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // Codice EPSG (opzionale)
"wkt": "string", // Stringa WKT (opzionale)
"origin_point": [lon, lat, alt] // Origine LocalENU (necessario solo quando type=0)
}
}
Gestione Errori
Tutte le interfacce restituiscono codici errore interi:
0: SuccessoNumeri negativi: Varie condizioni di errore
Vedi riferimento codici errore per dettagli.
🚀 Prossimi Passi
- 📚 Impara di più sull'interfaccia ReconstructFull (raccomandato per principianti)
- 🔧 Studia l'interfaccia ReconstructAT (funzionalità avanzate)
- 💡 Controlla esempi completi per uso pratico
Suggerimento: I bisogni della maggior parte degli utenti possono essere soddisfatti con ReconstructFull. Usa altre interfacce solo quando è necessario un controllo fine.