Passa al contenuto principale

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.

Prima di Iniziare

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

Livelli di Architettura MipMapEngine 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:

InterfacciaFunzioneCaso d'Uso
ReconstructFullRicostruzione processo completoAvvio rapido, elaborazione automatica
ReconstructATTriangolazione aereaControllo fine, utenti professionali
Reconstruct3DRicostruzione 3DGenerare modelli dai risultati AT
OptimizeATOttimizzare ATUsare punti di controllo per migliorare l'accuratezza
DivideTilesElaborazione tessereRicostruzione blocchi dati su larga scala

2. Strumenti Ausiliari

StrumentoFunzione
License EngineGestione licenze
Progress MonitorMonitoraggio progresso

🔄 Flussi di Lavoro Tipici

Opzione 1: Processo Completo Rapido (Raccomandato per Principianti)

Processo Completo Rapido

ReconstructFullRisultati Output

Soluzione a un passo, gestisce automaticamente tutti i processi

Opzione 2: Elaborazione Passo-Passo (Utenti Professionali)

Flusso di Elaborazione Passo-Passo

ReconstructATOptimizeAT (Opzionale) → Reconstruct3DRisultati 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
Verifica Installazione

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

Raccomandazioni Selezione Interfaccia
Se tu...RaccomandatoMotivo
Usi l'SDK per la prima voltaReconstructFullGestisce automaticamente tutti i dettagli, più semplice
Devi usare punti di controlloReconstructAT + OptimizeATSupporta ottimizzazione punti di controllo
Elabori dati ultra-grandiDivideTiles + Reconstruct3DSupporta elaborazione parallela blocchi
Hai bisogno di risultati intermediElaborazione passo-passoPuò 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: Successo
  • Numeri 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.